我正在使用jQuery DataTables和一些自定义代码为网站构建比较篮子。如何在Datatables中强制执行.change()事件?
我知道.change()
强制更改事件,但是当我在DataTable中执行此操作时,它似乎不起作用。
下面是有问题的代码:
table.on('change', '[type="checkbox"]', function() {
~
~
~
removeCtrl.addEventListener('click', function() {
var removal_id = $(this).parent().data("idx");
// .change() forces the 'changed' event to trigger.
$('#' + removal_id).prop('checked', false).change();
$(this).parent().remove();
});
});
该代码附加到在图像的右上角小“X”。图像本身完全不在DataTable中。
该行找到需要取消选中的确切复选框,并取消选中该复选框,然后应该触发change
事件,但似乎没有工作。它适用于我所处的任何页面。但是,如果我在第2页上并且需要取消选中的复选框位于第1页上,它将取消选中它,但不会触发我需要触发的更改事件。
我也试过table.$('#' + removal_id).prop('checked', false).change();
,它也做同样的事情。引用DataTable对象的表。
当我在与需要取消选中的复选框相同的页面上时,change事件正确触发。
任何想法,我需要改变,使更改事件触发时,不在复选框在同一页上?
应该发生时'change'发生的表有哪些? – jonmrich
@jonmrich所有的代码都在'table.on('change''部分的代码中,并且除了在这个单独的实例中正常工作外,我只需要将事件改为fire,但为了简单起见, alert('change event');'。在所有其他部分'.change()'强制这个工作正常,但不是在上面描述的单个实例中。 –