示例: http://jsfiddle.net/k7jwLvt1/
$(function(){
var tbl = $("#table");
$("#addRowBtn").click(function(){
$("<tr><td>Lorem Ipsum</td><td>Lorem Ipsum</td><td>Lorem Ipsum</td><td>Lorem Ipsum</td><td><input type='checkbox' class='setbox'></td><td><button class='delRowBtn'>Delete</button></td></tr>").appendTo(tbl);
});
$(document.body).delegate(".delRowBtn", "click", function(){
$(this).closest("tr").remove();
});
});
我目前正在向表中添加新行的行添加复选框。同时,我有一个foreach循环来检查这些复选框以执行一个AJAX脚本,但这对于这个问题是微不足道的。
如果我默认填充一行(不单击“添加行”按钮),则foreach循环工作得很好。但是,它不适用于随后添加的新行。如何在页面加载后使用foreach循环检测新添加的行?
我已尝试将foreach循环封装为函数,并在每次添加行按钮单击时重新执行它,但这似乎在队列中添加了AJAX脚本。
function setbox() {
$(\".setBox\").each(function() {
var isChecked = this.checked;
$('.setBox').click(function() {
$.ajax(blahblahblah});
}
});
}
}
有什么建议吗?
答案 0 :(得分:1)
我认为这可能对您有帮助,您不需要使用函数setbox()。您可以尝试此代码。
$('body').on('click', '.setbox',function() {
var isChecked = this.checked;
alert(isChecked);
//$.ajax(blahblahblah});
});