【问题标题】:Sort table columns' (tr) with jQuery使用 jQuery 对表列(tr)进行排序
【发布时间】:2013-07-21 13:39:11
【问题描述】:

我得到了这张表,我需要按属性 (kind_id) 对列进行排序,但不仅仅是升序或后代,我得到了一个排序应该遵循的 id 数组。

这是列的示例:

<tr id='music' class='unchecked' selezionato='no'  kind_id='203'>
    <td id='music' width='179px'>
       <div id='nome_music'>
           Rock
       </div>
    </td>
</tr>  

这是数组的一个例子

["203", "10", "12", "15", "25", "46", "56", "61", "102", "104", "114", "116", "121", "138", "142", "145", "187", "189", "190", "204", "205", "208", "214", "220"] 

我怎么能这样做?

【问题讨论】:

  • 是完全静态的,还是内容会改变

标签: jquery html arrays sorting html-table


【解决方案1】:

您可以使用像 underscore.js 这样的库并利用内置方法 sortBy

underscore.js sortBy

【讨论】:

    【解决方案2】:

    您可以使用排序功能。假设您的表格元素有一个 id ("myTable") 并且您的数组变量被称为 arrayOfIndices:

    function sortById (row1, row2){
        return arrayOfIndices.indexOf($(row1).attr("kind_id")) > arrayOfIndices.indexOf($(row2).attr("kind_id")) ? 1 : -1; 
    }
    
    $("#myTable tr").sort(sortById).appendTo("#myTable");
    

    【讨论】:

      猜你喜欢
      • 2012-11-02
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      相关资源
      最近更新 更多