页面加载时,有10个复选框。当我点击Select all
复选框时,所有10个复选框都会被选中。现在我动态添加10个记录(使用ajax),其中包含复选框(页面上共有20个复选框)。现在我点击Select All
复选框,原始复选框,即前10个复选框未选中(新增10个是原样,即未选中)。我再次单击Select All
复选框,此时应选中所有20个复选框,但没有选中任何内容。
$(".productListed").attr( "checked", true );
和$(".productListed").attr( "checked", false );
$(document).on('click', "#selectall", function(){ // my code });
我已经完成了Event binding on dynamically created elements?
点击Select All
时,如何设置所有动态添加的复选框以选中/取消选中?
答案 0 :(得分:0)
我不认为这是动态创建元素的事件绑定的情况。 我创建了一个工作示例 - 请参阅http://jsfiddle.net/qwt7s0a7/
<强> HTML 强>
<div class="container">
<input class="cb" type="checkbox"/>
</div>
<button id='add'>Add checkbox</button>
<button id='selectAll'>Select all</button>
<强> JS 强>
$(function(){
$('#add').click(function(){
$('.container').append('<input class="cb" type="checkbox"/>');
});
$('#selectAll').click(function(){
var checked = $('.container .cb').first().prop('checked');
$('.container .cb').prop('checked', !checked)
});
});
答案 1 :(得分:0)
请在下面找到示例代码和示例:https://jsfiddle.net/vv48fh3t/
<强> HTML 强>
<input type="button" id="btnCheckAll" value="Check All"/>
<input type="button" id="btnAddNew" value="Add checkbox" >
<div class="checkDiv">
<input type="checkbox" class="chk"/>check 1
<input type="checkbox" class="chk"/>check 2
<input type="checkbox" class="chk"/>check 3
<input type="checkbox" class="chk"/>check 4
</div>
<强> JS 强>
$(document).ready(function(){
$("#btnCheckAll").click(function(){
$(".chk").each(function(){
$(this).prop("checked","checked");
});
});
$("#btnAddNew").click(function(){
for(var i=0;i<5;i++){
$(".checkDiv").append("<input type='checkbox' class='chk'/>check "+i);
}
});
});
答案 2 :(得分:0)
我使用.prop("checked", true)
代替attr( "checked", true )
$(".productListed").prop( "checked", true ); and $(".productListed").prop( "checked", false );
每当您想要阅读HTML文档页面上任何动态添加的元素时,也可以使用它。
$(document).on('click', "#selectall", function(){ // my code });