すべての CMS 投稿を表すテーブルがあります。「すべてチェック/すべてチェック解除」をクリックして、すべての投稿を選択/選択解除できる機能を書いています。checkbox element
たとえば、これは何回クリックしても期待どおりに機能します。チェックボックスがチェックされている場合 - 「Check All is selected now」というアラートが表示されます。それ以外の場合 - 「Check All is Unchecked now」というアラートが表示されます
$("table thead input").click(function(){
var checkboxes = $("table tbody tr input")
if ($(this).is(':checked')) {
alert('Check All is checked now');
} else {
alert('Check All is UNchecked now');
}
});
繰り返しますが、期待どおりに動作します。
ただし、 s を別のロジックに置き換えるalert()
と、これは期待どおりに機能しなくなり、1 回だけになります。
$("table thead input").click(function(){
var checkboxes = $("table tbody tr input")
if ($(this).is(':checked')) {
checkboxes.each(function(){
$(this).attr('checked', true);
});
} else {
checkboxes.each(function(){
$(this).attr('checked', false);
});
}
});
これらのチェックボックスをチェック/チェック解除しますが、一度だけ -$("table thead input")
複数回クリックすると機能しません。
removeAttr('checked')
の代わりにを試してみまし$(this).attr('checked', false)
たが、うまくいきませんでした。
どうしたの?