2013-08-26 183 views
0

我想通过选中一个页面上的单个复选框并触发后续事件来选择特定名称的所有复选框。选择jquery中的所有复选框

因为我目前似乎没有立即启动,因此在第一次选中“全选”复选框时,未选中复选框,然后取消选中“全选”复选框,所有复选框均为检查。

看起来有点颠倒。

如何改进以下代码以使其正常工作?

$(document).on("click", "input[name='chkAllBs']", function() { 

if ($('input[name = chkBestSeller]').prop('checked') == false) { 
    $('input[name=chkBestSeller]').attr("checked", "true"); 
    $('input[name=chkBestSeller]').trigger('click'); 
} 
else { 
    $('input[name=chkBestSeller]').attr("checked", "false"); 
    $('input[name=chkBestSeller]').trigger('click'); 
} 

回答

1

它会像

if ($('input[name = chkBestSeller]').prop('checked') == true) { 

    $('input[name=chkBestSeller]').attr("checked", true); 
} else { 

    $('input[name=chkBestSeller]').attr("checked", false); 
} 

或者干脆

$(document).on("click", "input[name='chkAllBs']", function() { 
    $('input[name="chkBestSeller"]').prop("checked", this.checked); 
}); 
1
$(document).on("click", "input[name='chkAllBs']", function() { 
    var c = this.checked; 
    $('input[name = chkBestSeller]').prop('checked',c); 
}); 
3

尝试

$(document).on("click", "input[name='chkAllBs']", function() { 
    $('input[name=chkBestSeller]').prop("checked", this.checked); 
});