私はいくつかのデータを表示するHTMLテーブルを持っています。私は複数の選択をしようとするときに問題があります。2回目にすべてのテーブル行を確認できません
<th>
(すべての行が選択されています)のチェックボックスをクリックすると、tbody > tr
のすべてのチェックボックスが選択されています。もう一度クリックすると、すべてが選択解除されます。 thチェックボックスをもう一度クリックすると、tbody内の何も選択されません。この問題を解決するにはどうすればよいですか?
$(document).ready(function() {
toggleDeleteButton = function() {
// alert($('.selector:checked').length);
if ($('.selector:checked').length) {
$('.btn-delete-selected').removeClass('disabled');
} else {
$('.btn-delete-selected').addClass('disabled');
}
}
function update_selection(obj) {
var state = obj.checked;
if (state === undefined) {
state = false;
}
$(obj).closest('table').find('input[type=checkbox][disabled!="disabled"]').attr('checked', state);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table">
<thead>
<tr>
<th class=""><input onchange="update_selection(this); toggleDeleteButton();" type="checkbox"></th> // Selecting all
<th class="">
<a href="#">#</a>
</th>
<th class="">
<a href="#">Data #1</a>
</th>
<th class="">
<a href="#">Data #2</a>
</th>
</tr>
</thead>
<tbody>
<tr class="tr even incomplete ">
<td class="center"><input class="selector" value="57696" onchange="toggleDeleteButton();" type="checkbox"></td>
<td class="center">3</td>
<td class="text-right">£ 1.00</td>
<td class="center">Foo</td>
</tr>
<tr class="tr even incomplete ">
<td class="center"><input class="selector" value="57698" onchange="toggleDeleteButton();" type="checkbox"></td>
<td class="center">4</td>
<td class="text-right">£ 2.50</td>
<td class="center">FooBar</td>
</tr>
<tr class="tr even incomplete ">
<td class="center"><input class="selector" value="57720" onchange="toggleDeleteButton();" type="checkbox"></td>
<td class="center">5</td>
<td class="text-right">£ 3.00</td>
<td class="center">Bar</td>
</tr>
</tbody>
</table>