我想在某些时候禁用TableSorter插件。 这些有class =“disableSorter”,所以我这样做:
$('.disableSorter').each(function(index) {
$('.tablesorter').tablesorter({ headers: { index: { sorter: false} } });
});
其中index:是函数中传递的索引变量。 事情是“索引”没有被数字取代(例如0:,1:5:等等)
感谢您的帮助!
=====编辑=====
感谢JaredPar,您的解决方案对动态变量是正确的。我不得不编辑代码,因为我没有得到th元素的索引,而是每个循环的索引。
这是我的最终代码
var inner = {};
$('.disableSorter').each(function() {
inner[$('.tablesorter th').index(this)] = { sorter: false };
});
$('.tablesorter').tablesorter({ headers: inner });
答案 0 :(得分:4)
这里的问题是你试图在javascript不查找值的地方使用该值,而是将文字用作名称。您需要使用[]
语法根据值创建命名成员。
尝试以下
$('.disableSorter').each(function(index) {
var inner = {};
inner[index] = { sorter: false };
$('.tablesorter').tablesorter({ headers: inner);
});
答案 1 :(得分:1)
试试这个
var obj = null;
$('.disableSorter').each(function(index) {
obj = {};
obj.headers = {};
obj.headers[index] = { sorter: false };
$('.tablesorter').tablesorter(obj);
});