汎用テーブルで実行される関数がありますが、特定することはできません。多くの異なるテーブルで実行できる必要があります。私が抱えている問題は、同じページの複数のテーブルで実行されている場合です。クリック イベントは問題なく発生しますが、最終テーブルのチェック要素でのみ動作し、動作するはずだったテーブル内のチェック要素では動作しません。
コードは次のとおりです。
$parent = $table.parents('div.ibox').find('div.ibox-title');
$select_all = $parent.find('button.select_all');
$deselect_all = $parent.find('button.deselect_all');
$input_delete = $table.find('input.delete');
if ($table.find('input.delete').length >= 2) {
$select_all.removeClass('hidden');
} else {
$select_all.addClass('hidden');
$deselect_all.addClass('hidden');
}
$select_all.on('click', function(event) {
$input_delete.each(function() {
$(this).prop('checked', true).trigger('change');
$select_all.addClass('hidden');
$deselect_all.removeClass('hidden');
});
});
$deselect_all.on('click', function(e) {
$table.find('input.delete:checked').each(function() {
$(this).prop('checked', false).trigger('change');
$deselect_all.addClass('hidden');
$select_all.removeClass('hidden');
});
});
$table
関数が実行されている要素を含む変数で$('table')
、関数に渡されます。
ページの最終テーブルではなく、想定されているテーブル内のチェックボックスでクリック要素を起動する方法について誰かがアイデアを持っているかどうか疑問に思っています。