如何在jQuery tablesorter中设置个人解析器的初始排序顺序?

时间:2010-12-03 15:43:04

标签: jquery tablesorter

我在jQuery Tablesorter plugin中创建了一个自定义解析器。我想在加载页面时使用该自定义解析器对表进行排序。

我试过这个:

<script type="text/javascript">
    $(document).ready(function () {
        $("#statusTable").tablesorter({ sortList: [[3, 0], [4, 0], [5, 0]]}, { headers: { 3: { sorter: 'status' }, 4: { sorter: 'status' },
            5: { sorter: 'status' }, 0: { sorter: false }, 7: { sorter: false} }});
    });
</script>

列在页面加载时排序,但按字母顺序排序。

我试过的另一个脚本:

<script type="text/javascript">
    $(document).ready(function () {
        $("#statusTable").tablesorter({ headers: { 1: { sorter: 'status' }, 2: { sorter: 'status' },
        3:{ sorter: 'status'}, 5:{ sorter: false}}}, { sortList: [[1,0],[2,0],[3,0]] }); });
</script>

但是这些列根本没有排序。

最后一个脚本:

 <script type="text/javascript">
    $(document).ready(function () {
        $("#statusTable").tablesorter({ sortList: [[3, 0], [4, 0], [5, 0]], headers: { 3: { sorter: 'status' }, 4: { sorter: 'status' },
            5: { sorter: 'status' }}, { headers: { 3: { sorter: 'status' }, 4: { sorter: 'status' },
            5: { sorter: 'status' }, 0: { sorter: false }, 7: { sorter: false} }});
    });
</script>

但是那个tableorter再也不起作用了。

有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

我认为你对JSON感到满意。您是否尝试过清理代码,并且可能使用缩进来查看您在语法中的位置?

这是您清理的第一个版本:

<script type="text/javascript">
    $(document).ready(function () {
        $("#statusTable").tablesorter({ 
          sortList: [[3, 0], [4, 0], [5, 0]]},
          headers: {
            3: { sorter: 'status' }, 
            4: { sorter: 'status' },
            5: { sorter: 'status' }, 
            0: { sorter: false }, 
            7: { sorter: false } 
          }
        });
    });
</script>

我假设你的第一个是最好的(与你在测试时的第一直觉一样)。你不必要地将headers包裹在括号中(事实上,从未关闭它)。