2014-02-13 165 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

相關問題