jQuery tablesorter 在 run-time 上更改 header

jQuery tablesorter change header on run-time

我有一个问题要问 jQuery tablesorter。有没有办法更改 run-time 上的 headers-attribute?

开始我这样做:

$(document).ready(function() {
        $("table").tablesorter({debug:false, headers: {4:{sorter:false}}}); 
});

在我的脚本中有一个 link:

<a href="javascript: xxx()">xxx</a>

这是在调用这个函数:

function xxx() {
    $("table").tablesorter({debug:false, headers: {3:{sorter: false}}}); 
}

目标也是禁用第三列。你有什么想法吗?

要切换列的排序,您需要做两件事:

  • 在 header 上切换 "sorter-false" class 名称。
  • 切换 header 上的 sortDisabled 属性。

Here is a demo:

$(function () {
    $('table').tablesorter({
        theme: 'blue'
    });
    $('button').click(function(){
        var $th = $('th:contains(Sex)'),
            status = !$th[0].sortDisabled;
        $th.toggleClass('sorter-false', status );
        $th[0].sortDisabled = status;
    });
});