我需要幫助自動檢查樹視圖中的複選框。jQuery不會檢查複選框
我有一個樹形圖,當我點擊複選框時,列表中的所有子項都會自動檢查其複選框。問題是它不會工作。
treeview.find('input[type=checkbox]').each(function() {
$j(this).click(function() {
if ($j(this).is(':checked')) {
$j(this).siblings('ul').find('input[type=checkbox]').attr('checked', 'checked');
} else {
$j(this).siblings('ul').find('input[type=checkbox]').removeAttr('checked');
}
});
});
因此,代碼說明了一切,我發現所有的複選框,並在每個我綁定單擊事件。點擊該項目後,會檢查是否已選中,然後查找所有複選框並將其屬性設置爲已檢查,否則查找所有複選框並刪除其已選屬性。我的選擇器工作正常,所以這不是問題。
當我點擊一個複選框時,所有複選框都會被檢查,而當我取消選中時,它仍然有效。但在另一次嘗試中,它不再工作了!這很奇怪!最奇怪的是,當我檢查代碼時,我可以在複選框上看到它有checked="checked"
,但瀏覽器不會顯示選中狀態(實際上這是主要問題)。
嘗試'.prop()'而不是'.attr()'。 –