什麼是正確的方式來檢查/取消選中放置在觸發我的功能的元素內的複選框?jQuery複選框選中/取消選中
這裏是我的代碼:
<table id="news_list">
<tr>
<td><input type="checkbox" name="news[1]" /></td>
<td>TEXT</td>
</tr></table>
$("#news_list tr").click(function() {
var ele = $(this).find('input');
if(ele.is(':checked')){
ele.removeAttr('checked');
$(this).removeClass('admin_checked');
}else{
ele.attr('checked', 'checked');
$(this).addClass('admin_checked');
}
});
的問題是,我可以檢查,並取消每盒只有一次。在我選中並取消選中後,它仍然會添加/刪除類,但從不再檢查一個框(即使點擊複選框而不是表格行)。
我試過使用.bind('click')觸發器,但它是相同的結果。
任何解決方案?
望着答案,我不敢肯定他們給解決你正在嘗試做的。我不明白爲什麼基本上禁用複選框是有意義的,這就是那些給出的答案正在做的事情(因爲當你點擊複選框時它會被檢查,這意味着if語句會立即取消選中它......這意味着你通過點擊實際的複選框......對不對?)。這是你想要做什麼?:http://jsfiddle.net/7gbhf/ – Joonas
@Joonas謝謝,這正是我需要的! Jai的答案確實適用於signle行,不適用於多個 – user1587985
好。有一件事。如果我的jsfiddle正是你所需要的,我不確定我看到Jai的答案是如何工作的。它不會讓您通過單擊複選框來檢查複選框,這是由於if語句導致的,如上所述。所以我認爲你錯過了那部分,或者...我仍然不知道你想要什麼:) – Joonas