Javascript jQuery tablesorter:如何通过使用类而不是";内联JSON;?
我在用电脑。我知道如何使用jQuery元数据插件禁用列排序:Javascript jQuery tablesorter:如何通过使用类而不是";内联JSON;?,javascript,jquery,jquery-plugins,tablesorter,Javascript,Jquery,Jquery Plugins,Tablesorter,我在用电脑。我知道如何使用jQuery元数据插件禁用列排序: <th class="{sorter: false}">Don't sort me</th> <th data-sorter="false">...</th> 不要对我排序 但我宁愿通过设置一个类来实现这一点,这样我就不必使用额外的插件。另外,我想我记住类名要比记住这个JSON语法容易得多。如何使用以下语法执行相同的操作: <th class="not-sortable"&g
<th class="{sorter: false}">Don't sort me</th>
<th data-sorter="false">...</th>
不要对我排序
但我宁愿通过设置一个类来实现这一点,这样我就不必使用额外的插件。另外,我想我记住类名要比记住这个JSON语法容易得多。如何使用以下语法执行相同的操作:
<th class="not-sortable">Don't sort me</th>
不要对我排序
我认为实现此功能的唯一方法是修改插件的源代码
在jquery.tablesorter.js的第483行:
function checkHeaderMetadata(cell) {
if (($.metadata) && ($(cell).metadata().sorter === false)) {
return true;
};
return false;
}
将此代码更改为:
function checkHeaderMetadata(cell) {
if ((($.metadata) && ($(cell).metadata().sorter === false)) || $(cell).hasClass("not-sortable")) {
return true;
};
return false;
}
现在函数
checkHeaderMetadata
也返回true,如果单元格有一个名为notsortable
的类,则不必修改插件的源代码。假设不排序的th
类被称为nosort
:
function setupTablesorter() {
$('table.tablesorter').each(function (i, e) {
var myHeaders = {}
$(this).find('th.nosort').each(function (i, e) {
myHeaders[$(this).index()] = { sorter: false };
});
$(this).tablesorter({ widgets: ['zebra'], headers: myHeaders });
});
}
我同意,内联JSON很奇怪。如果您使用的是tablesorter v2.3或更高版本,您实际上可以使用数据角色来完成相同的任务,而不必使用元数据插件:
<th class="{sorter: false}">Don't sort me</th>
<th data-sorter="false">...</th>
。。。
干净多了。但是,请注意,它需要jQuery
有关详细信息和演示:
祝你一切顺利
- 本
headers
的属性,并为每个所需列添加值为false
的属性sorter
。计数列从0
开始
jQuery('#element').tablesorter({
headers: {
// first column
0: {
sorter: false
},
// third column
2: {
sorter: false
}
}
});
例子取自