2013-08-26 229 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); 
});