我使用 jquery 1.8.3 动态创建元素。但它对此不起作用。但它正在 1.3.2 版本上运行。下面是我为此使用的 Jquery 代码。
$(document).ready(function(){
var counter = 2;
$("#addButton").click(function () {
if(counter>10){
alert("Only 10 textboxes allow");
return false;
}
var newTextBoxDiv = $(document.createElement('div'))
.attr("id", 'CallBackDiv' + counter);
newTextBoxDiv.after().html('<label>Call Back Date Time #'+ counter + ': </label>'+
'<div class="controls"><input type="text" name="callback' + counter +
'" id="callback' + counter + '" value="" ></div>');
newTextBoxDiv.appendTo("#control-group");
counter++;
});
$("#removeButton").click(function () {
if(counter==1){
alert("No more textbox to remove");
return false;
}
counter--;
$("#CallBackDiv" + counter).remove();
});
$("#getButtonValue").click(function () {
var msg = '';
for(i=1; i<counter; i++){
msg += "\n CallBack #" + i + " : " + $('#callback' + i).val();
}
alert(msg);
});
});
<小时/>
<div id='control-group'>
<div id="CallBackDiv1">
<label class="control-label" for="input01">
Call Back Date Time #1:</label><div class="controls">
<input type='textbox' id='callback1' ></div>
</div>
</div>
<input type='button' value='+' id='addButton'>
<input type='button' value='-' id='removeButton'>
最佳答案
您创建 div
的方式没有任何问题。您的代码的问题是您使用 jQuery after()
函数。在新创建的元素上调用 after()
将返回 null
,然后您可以在其上调用 html()
方法。我建议您阅读如何使用 after()
函数 -> http://api.jquery.com/after/
关于php - 创建元素在 jquery 1.8.3 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17059198/