2014-02-13 162 views
0

如何在选择单个复选框时选中所有复选框

尝试选择所有复选框来选择单个复选框时发生问题。 这些动态生成(通过AJAX)复选框,使绑定事件是一些乏味。以下是在HTML

<form id="frm" name="frm"> 
    <input name="chk" type="checkbox" id="chk" value="" />main checkbox 
    <input name="chk1" type="checkbox" id="chk1" value="" />1 
    <input name="chk2" type="checkbox" id="chk2" value="" />2 
    <input name="chk3" type="checkbox" id="chk3" value="" />3 
    <input name="chk4" type="checkbox" id="chk4" value="" />4 
    <input name="chk5" type="checkbox" id="chk5" value="" />5 
    <input name="chk6" type="checkbox" id="chk6" value="" />6 
</form> 

回答

3

代替$(this).prop('checked')装,你可以使用this.checked

$(document).ready(function() { 
    $("#sub").on("click", "#chk" , function() {  
     var checkboxes = $(this).closest('form').find(':checkbox'); 
     checkboxes.prop('checked', this.checked); 
    }); 
}); 
0
$(document).ready(function() { 
    $("body").on("click", "#chk", function() { 
     var checkboxes = $(this).closest('form').find(':checkbox'); 
     checkboxes.prop('checked', $(this).prop('checked')); 
    }); 
}); 

的代码,这将工作,如果点击“CHK”复选框,将检查表格中的所有复选框, 连他们都通过Ajax

2

尝试

jQuery(function ($) { 
    $('#chk').change(function() { 
     $('#frm input[type="checkbox"]').not(this).prop('checked', this.checked) 
    }) 
}) 

演示:在复选框的情况下Fiddle

+0

不会工作从阿贾克斯 – ddw147

+0

加载@ ddw147看到http://jsfiddle.net/arunpjohny/Sd5By/2/ –

+0

是小提琴将工作,如果“CHK”在装加载DOM内容的时间,如果通过AJAX请求.change在DOM中加载“chk”将不起作用 – ddw147

相关问题