按所有列标题排序

时间:2012-05-30 15:16:47

标签: javascript jquery jquery-plugins

我有一个表,它是在点击搜索按钮时动态生成的,如下所示:

puts "<table class=\"resultsTable\">"
        puts "<tr><th colspan=\"10\" class=\"head\">Search Results</th></tr>"
        puts "<tr>"
        puts    "<th></th>"
        puts    "<th>App</th>"
        puts    "<th>Name</th>"
        puts    "<th>Region</th>"
        puts    "<th>Market</th>"
        puts    "<th>Language</th>"
        puts    "<th>Function</th>"
        puts    "<th>LOB</th>"
        puts    "<th>Term</th>"
        puts    "<th>Call</th>"
        puts "</tr>"
        puts "<tr>"
        puts    "<td id=\"$cellID\">"
        puts    "<img src=\"images/magnifier.gif\" style=\"cursor:pointer\" onclick=\"showRouting({'spec':'${specific}', 'id':'${mkt_id}', 'name':'${mkt_name}', 'xfer':'${xfertype}', 'cell':'${cellID}'})\"</img>"
        puts    "</td>"
        puts    "<td>$level</td>"
        puts    "<td>$name</td>"
        puts    "<td>$reg_name</td>"
        puts    "<td>$link</td>"
        puts    "<td>$lang</td>"
        puts    "<td>$func</td>"
        puts    "<td>$lob</td>"
        puts    "<td>$term</td>"
        puts    "<td>$call</td>"
        puts "</tr>"

我是否可以启用某种排序,以便按每列排序(按应用,名称等)?我见过某种jquery表分类器和其他东西,但是我无法用我的代码做到这一点。有人可以告诉我我将如何做这件事吗?

[0,0] [1,0]是什么意思?我如何相应地修改我的代码?:

$(document).ready(function() 
    { 
        $("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} ); 
    } 
); 

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

您可以使用http://datatables.net/http://tablesorter.com/docs/#Demo

对于像这样设置的表格分类器

// call the tablesorter plugin 
    $("table").tablesorter({ 
        // sort on the first column and third column, order asc 
        sortList: [[0,0],[2,0]] 
    }); 

其中sortList:[[0,0],[2,0]]包含列索引(基于0)和排序顺序。

所以[[0,0],[2,0]]表示第一列和第三列可以排序,最初它们将按升序排序。

选中此working fiddle选项已正确评论。

here是一个非常基本的版本,其中所有表格列都是可排序的,但没有图形,例如箭头或背景。