[英]Need to append html element as user keep clicking a button with jquery
I am trying to append a div multiple times when clicking a button, the problem is that is only appending once. 我试图在单击按钮时多次追加div,问题是只追加一次。 I need to append same div as user keeps clicking.
我需要在用户不断点击时附加相同的div。
$htmlDivForm
in the jquery code. $htmlDivForm
的变量中。 HTML code: HTML代码:
<div class="container">
<div class="row">
<div class="col-md-3">
<form id="formUser" action="index.html" method="post">
<div class="text-center">
<button id="moreFieldsBtn" class="btn" type="button" name="button">+</button>
</div>
</form>
</div>
<div class="col-md-9">
More Content...
</div>
</div>
</div>
jquery code: jquery代码:
var $moreFieldsBtn = $("#moreFieldsBtn");
var $formUser = $("#formUser");
var $htmlDivForm = $('<div class="form-group"><label class="labelName" for="inputText">Nombre</label><input class="form-control inputTextField" type="text" name="inputText" value=""></div>');
//Add input text field
$($moreFieldsBtn).click (function() {
$($formUser).append($htmlDivForm);
});
You can't append the same div multiple times, you need to instantiate new divs and attach those. 你不能多次附加相同的div,你需要实例化新的div并附加它们。 You also don't need to re-wrap the jQuery objects to attach the handlers:
您也不需要重新包装jQuery对象来附加处理程序:
var $moreFieldsBtn = $("#moreFieldsBtn");
var $formUser = $("#formUser");
//Add input text field
$moreFieldsBtn.click(function() {
var $htmlDivForm = $('<div class="form-group"><label class="labelName" for="inputText">Nombre</label><input class="form-control inputTextField" type="text" name="inputText" value=""></div>');
$formUser.append($htmlDivForm);
});
I had gone through your question.
I have Updated the example.
Removed the Object and just inserting plain HTML
var $moreFieldsBtn = $("#moreFieldsBtn"); var $formUser = $("#formUser"); var $htmlDivForm = $('<div class="form-group"><label class="labelName" for="inputText">Nombre</label><input class="form-control inputTextField" type="text" name="inputText" value=""></div>'); var htmltext = '<div class="form-group"><label class="labelName" for="inputText">Nombre</label><input class="form-control inputTextField" type="text" name="inputText" value=""></div>' //Add input text field $($moreFieldsBtn).click (function() { $($formUser).append(htmltext); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div class="row"> <div class="col-md-3"> <form id="formUser" action="index.html" method="post"> <div class="text-center"> <button id="moreFieldsBtn" class="btn" type="button" name="button">+</button> </div> </form> </div> <div class="col-md-9"> More Content... </div> </div> </div> <div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.