我有一个在通用表上运行的函数,它不能是特定的,它需要能够在许多不同的表上运行。我遇到的问题是它是否在同一页面上的多个表上运行。点击事件触发得很好,但它们只对最终表格中的检查元素进行操作,而不是他们应该处理的表格中的检查元素。
这是代码:
$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')
函数正在运行的元素的变量,它被传递到函数中。
只是想知道是否有人对如何让点击元素在他们应该在表格中的复选框上触发,而不是页面上的最终表格有任何想法。