2011-07-20 37 views
2

我有一個HTML表,我用jQuery tablesorter排序。我有一個外部鏈接,使用JavaScript按名稱排序表。在這個JavaScript函數中,我不得不說按第0列進行排序,而不是僅僅按名稱列進行排序。jQuery tablesorter按列ID排序,而不是列號

如何修改我在下面的內容,所以我不必記住該名稱是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> 

回答

3

你可以使用黑客...

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