【问题标题】:jquery pre sort rows before outputting them?jquery在输出之前对行进行预排序?
【发布时间】:2013-06-24 14:15:23
【问题描述】:

我有一个具有树层次结构的表。当您单击某些行时,它们会打开更多行,这一切都是使用 jquery 完成的。但是,我想在输出它们之前整理那些将打开的行。有没有一种简单的方法可以做到这一点。我不太擅长 jquery 所以。 . .

我有这样的事情

$( "##table" ).find( "tr.entry[con=" + condition1 + "]" ).each( function(evt) {

                                  . . . . .

} );

它在哪里获取我想要为单击的行输出的行,然后隐藏或显示它们。但是,我想首先根据列值对它们进行排序,然后输出它们。有没有 .sort() 类的函数可以为我完成这项工作?如果没有,我该怎么做?

【问题讨论】:

    标签: jquery sorting html-table multiple-columns rows


    【解决方案1】:

    jQuery(selector) 返回的结果是一个数组。您可以使用.sort 方法对其进行排序。

    然后您可以使用 jQuery 的操纵器(.detach.append.insertAfter ...)来删除和重新插入您的元素。

    示例(fiddle):

    var $rows = $('#tbl tbody').find('tr').sort(function (a, b) {
        var va = parseInt($(a).find('td').text(), 10);
        var vb = parseInt($(b).find('td').text(), 10);
        return vb - va;
    });
    
    $rows.detach();
    $('#tbl tbody').append($rows);
    

    【讨论】:

    • 我正在尝试实施您的建议,但它对我不起作用。我正在尝试对第二列中的十进制值进行排序。
    • 你可能不得不使用parseFloat.find('td:nth-child(k)')
    猜你喜欢
    • 1970-01-01
    • 2010-11-24
    • 2020-03-11
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多