jQuery tablesorter按列id而不是列号排序

时间:2011-07-20 23:46:50

标签: javascript jquery tablesorter

我有一个HTML表,我正在使用jQuery tablesorter进行排序。我有一个外部链接,使用JavaScript按名称对表进行排序。但是在JavaScript函数中,我不得不说按列0排序,而不是按名称列排序。

如何修改下面的内容,以便我不必记住JavaScript中的第0列名称?

$('document').ready(function(){
    $('table#classes_table').tablesorter();

    $("#sort-link").click(function() {
      //How can I say something like sort by "Name" instead of having to remember name is column 0
      var sorting = [[0,0]
      $("table").trigger("sorton",[sorting]);
      return false;
    });
});

<a href="#" id="sort-link">Sort by name</a><br><br>
<table class="tablesorter" id="classes_table">
    <thead>
      <tr>
        <th>Name</th>
        <th>School</th>
        <th>Students</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Class1</td>
        <td>School5  </td>
        <td>32</td>
      </tr>
      <tr>
        <td>Class2</td>
        <td>School1</td>
        <td>7</td>
      </tr>
    </tbody>
</table>

1 个答案:

答案 0 :(得分:3)

你可以使用黑客......

var columnIndex = $('table > thead > tr > th:contains("Name")').index();