Javascript jquery tablesorter filter-如何计算过滤的行
我正在使用jQuery插件。它工作得很好。当我想在表被过滤后计算多少行时,我遇到了问题Javascript jquery tablesorter filter-如何计算过滤的行,javascript,jquery,jquery-plugins,tablesorter,Javascript,Jquery,Jquery Plugins,Tablesorter,我正在使用jQuery插件。它工作得很好。当我想在表被过滤后计算多少行时,我遇到了问题 $("#tblContainer").tablesorter({ debug: false, sortList: [ [0, 0] ], widgets: ['zebra'] }).tablesorterFilter({ filterContainer: $("#filterBox"), filterColumns: [1, 2], f
$("#tblContainer").tablesorter({
debug: false,
sortList: [
[0, 0]
],
widgets: ['zebra']
}).tablesorterFilter({
filterContainer: $("#filterBox"),
filterColumns: [1, 2],
filterCaseSensitive: false
});
下面是计算筛选行(当前在屏幕上的行)的代码。但是它没有给我正确的结果。它给出了过滤行的最后计数,而不是当前计数。它总是在一个关键点后给出结果
$("#filterBox").keyup(function () {
var textLength = $("#filterBox").val().length;
if (textLength > 0) {
var rowCount = $("#tblContainer tr:visible").length;
$("#countCourseRow").html(" found " + rowCount);
} else {
$("#countCourseRow").html("");
}
});
只需编辑tablesorterFilter js文件即可添加回调函数: 在
返回表之前的第147行添加此项代码>关闭doFilter()
然后更改此选项:
this.defaults = {
filterContainer: '#filter-box',
filterClearContainer: '#filter-clear-button',
filterColumns: null,
filterCaseSensitive: false,
filterWaitTime: 500,
filterFunction: has_words,
columns: []
};
到
现在您只需要在这里定义回调函数
}).tablesorterFilter({
filterContainer: $("#filterBox"),
filterColumns: [1, 2],
filterCaseSensitive: false,
callback: function(){
var rowCount = $("#tblContainer tr:visible").length;
$("#countCourseRow").html(" found " + rowCount);
}
});
这应该可以帮助您:)内置事件有什么问题:
示例如下所示:
$("#tblContainer").tablesorter({
debug: false,
sortList: [
[0, 0]
],
widgets: ['zebra']
}).bind('filterEnd', function() {
$("#countCourseRow").html("");
$("#countCourseRow").html("found " + $('#myTable tr:visible').length);
});
脚本中可能存在逻辑错误,否则最简单的方法是获取可见行的长度
$('#table_id tr:visible').length
我试过了,但没用。我修改了tbsorter-filter.js并添加了callback选项,然后像这样在页面上进行了尝试。callback:function(){alert(“Yes”);}你能把它上传到某个地方让我看看吗?可能正在创建一个JSFIDLE…Sally你能检查一下JSFIDLE吗。如果你有标题,你需要在长度后面加-2。我添加了上面的绑定,并检查了可见的行。它更新了我在列之前添加的新标题。绑定('filterEnd',function(){/*****在应用筛选器时更新行计数。****/$('.tablesorter头内部span').html($('tbody tr:visible').length);})@FredrikErlandsson您的链接显示了过滤器,但我看不到那里的行数,这种解决方案也适用于寻呼机?对于页眉问题,您可以使用$('#myTable tbody tr:visible')。长度
。您能解决这个问题吗?@JuanCarlosOropeza,试试看。应该是的。不,不是的。我必须用这个来代替
$("#tblContainer").tablesorter({
debug: false,
sortList: [
[0, 0]
],
widgets: ['zebra']
}).bind('filterEnd', function() {
$("#countCourseRow").html("");
$("#countCourseRow").html("found " + $('#myTable tr:visible').length);
});
$('#table_id tr:visible').length