我在MVC Razor应用程序中使用Tablesorter(2.22.1),我在添加基本过滤器行时遇到问题。 我已经在bundle中添加了脚本(js插件)。
bundles.Add(new ScriptBundle("~/bundles/initTableSort").Include(
"~/Scripts/libs/jquery.tablesorter.js",
"~/Scripts/libs/jquery.tablesorter.widgets.js",
"~/Scripts/libs/jquery.tablesorter.combined.js")
);
我还使用jquery将其包含在 _Layout.html 中。我没有使用jquery.latest.js,因为在我的项目中有不同的jquery文件(新),它们被添加到_Layout。
@Scripts.Render("~/bundles/jquery")
...
@Scripts.Render("~/bundles/initTableSort")
我有自己的CSS,我不使用Tablesorter主题。 我的js功能:
$(".tablesorter").tablesorter({
sortReset: true,
sortRestart: true,
widthFixed : true,
textAttribute: 'data-sort',
widgets: ["filter"],
widgetOptions: {
filter_external: '.search',
filter_defaultFilter: { 1: '~{query}' },
filter_columnFilters: true,
filter_placeholder: { search: 'Search...' },
filter_saveFilters: true,
filter_reset: '.reset'
},
headers: {
'th.smallChart, th.errorLink': {
sorter: false,
filter: false
},
'th.errorDifference': {
sorter: 'data'
}
}
});
表中的数据由foreach循环呈现,但标题和表具有所需的类/ ID。我没有粘贴表格代码,因为它太长了,我觉得它看起来没有问题。
在排序之后,重置排序(在第三次点击之后),自定义解析器工作正常,但是包含Widget'Filter'只给我一行来为每个列写一个过滤查询,但它不起作用。我可以写一些东西,但之后不会过滤表格。我不知道为什么。 Inspect没有显示任何错误。
拜托,有人可以帮助我并写下我做错了吗?
编辑1
我甚至使用此文档Basic Filter Tablesorter Documentation中的数据创建新项目,我仍然有同样的问题,所以我做错了什么,但我不知道在哪里和哪里。
答案 0 :(得分:33)
问题已解决
问题出现在.css主题文件中...我没有链接.css蓝色主题文件,因为我使用自己的css,但没有关于你必须添加部分.css主题文件的信息使用过滤。
你必须只添加
/* rows hidden by filtering (needed for child rows) */
.tablesorter .filtered {
display: none;
}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
到您的.css文件,一切顺利。
答案 1 :(得分:2)
如果你能提供问题的演示
会很有帮助看到您正在使用自定义解析器来获取单元格数据属性,我想分享这已经是内置的;设置textAttribute
option以匹配您的数据属性:
$(".tablesorter").tablesorter({
sortReset: true,
sortRestart: true,
textAttribute: 'data-sort',
widgets: ["filter"],
widgetOptions: {
filter_external: '.search',
filter_defaultFilter: { 1: '~{query}' },
filter_columnFilters: true,
filter_placeholder: { search: 'Search...' },
filter_saveFilters: true,
filter_reset: '.reset'
},
headers: {
'th.smallChart, th.errorLink': {
sorter: false
}
}
});
希望这一改变能解决您遇到的问题。