0

我有七列,我想让它们正确排序,

第一列有数字,但它没有按照我希望的方式对它们进行排序:

Example:
5016
502
5020
5023

我希望它像这样排序:

Example:
502
5016
5020
5023

现在第二列有数字和字母的组合示例如上所示,但在每个数字前面都有一个字母我想按数字排序,然后按字母

Example:
441
B441
821
822
823
C823

甚至像这样也可以

Example:
441
821
822
823
B441
C823

最后,第 3 列更复杂,它在单词示例之前有一个图像:Billy Jones Anna Walters Bob Smith Tom Henderson

我希望它按(名称)字母排序......

Example:
<img src="img_tr122.png">&nbsp;Anna Walters
<img src="img_tr122.png">&nbsp;Billy Jones
<img src="img_tr122.png">&nbsp;Bob Smith
<img src="img_tr122.png">&nbsp;Tom Henderson

到目前为止,这是我在 JavaScript 中所拥有的,但我不知道如何让一切正常工作..

<script type="text/javascript">
$(document).ready(function() { 
$.tablesorter.defaults.widgets = ['zebra']; 
    $("table").tablesorter({ 
        // pass the headers argument and assing a object 
        headers: { 
            // assign the third column (we start counting zero) 
            2: { 
                // disable sort because I don't know how to sort it correctly.
                sorter: false 
            },
            6: { 
                // disable sort for this (last) column because it is a menu only.
                sorter: false 
            } 
        } 
    }); 
});
</script>

请帮忙....

谢谢!!!!

4

2 回答 2

2

原始的 tablesorter (v2.0.5) 不进行字母数字排序。但是您可以使用我的 tablesorter fork使用以下代码对数据进行排序:

$('table').tablesorter({

    // Add a theme
    theme : 'blue',

    // extract text from the table
    textExtraction: {
        2: function(node) {
            // move swap first and last name
            return $.trim($(node).text() || '').replace(/(\w+)\s(\w+)/g,'$2 $1');
        }
    },

    // include zebra and any other widgets:
    widgets: ['zebra', 'columns']

});

我不确定你想如何对最后一列进行排序。该textExtraction选项包含首先按姓氏对最后一列进行排序的代码。如果要按名字排序,则只需删除整个选项。

这是该代码的实际演示

于 2012-10-27T13:48:52.383 回答
0

您可以使用http://tablesorter.openwerk.de/,它具有您需要的功能,并且它具有语言环境支持、UI 主题支持、对德语日期格式和小数点的支持。

于 2012-10-27T13:57:52.133 回答