触发器后的Jquery不工作
我使用下面的Jquery计算表更改后的表列总数。 即使我手动应用searchfilter,它也能正常工作 但是,当我使用下面的代码时,searchfilter会根据结果进行调整和显示,但总数不会更新/计数 Jquery,表更改:触发器后的Jquery不工作,jquery,Jquery,我使用下面的Jquery计算表更改后的表列总数。 即使我手动应用searchfilter,它也能正常工作 但是,当我使用下面的代码时,searchfilter会根据结果进行调整和显示,但总数不会更新/计数 Jquery,表更改: $("table").change(function(){ var element = $(this), footer = element.find('tfoot tr'), dataRows = element.find('tbody t
$("table").change(function(){
var element = $(this),
footer = element.find('tfoot tr'),
dataRows = element.find('tbody tr:visible'),
initialTotal = function () {
var column, total;
//for (column = 1; column < footer.children().size(); column++) {
for (column = 3; column < 4; column++) {
total = 0;
dataRows.each(function () {
var row = $(this);
total += parseFloat(row.children().eq(column).text());
});
footer.children().eq(column).text(total);
};
};
initialTotal();
});
我不明白为什么总数不起作用,因为当手动设置过滤器时,它起作用,而且表格也发生了变化,所以它应该执行该函数
有什么不对吗?表的“更改”事件由tablesorter小部件定义。该事件不是一个泛化的DOM突变事件,而是由小部件放置的其他东西触发的,特别是由过滤器菜单触发的 如果您想要一些外部事件(例如单击yout calculator按钮)来触发表的“更改”处理程序,那么我猜您可以显式地触发该事件 像这样的东西应该可以做到:
$(".warningdisplay").click(function() {
var cols = []
cols[5] = "3";
$('table')
.trigger('search', [cols])
.trigger('change');
});
你看控制台了吗?使用console进行调试可以简化工作:)是,无错误。使用.trigger时,表会发生更改,但函数table.change不起作用。何时需要更改触发器?当我想在向dom添加内容的同时添加侦听器时,我使用自定义事件。或者,当你添加一个新行时,你可以简单地调用cahnge函数。我需要它。当用户单击菜单中的按钮时,我希望它设置特定的过滤器。我还是不明白。为什么不按一下按钮调用这个函数呢?$('table').trigger('search',[cols])是什么;做
$(".warningdisplay").click(function() {
var cols = []
cols[5] = "3";
$('table')
.trigger('search', [cols])
.trigger('change');
});