我有七列,我想让它们正确排序,
第一列有数字,但它没有按照我希望的方式对它们进行排序:
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列更复杂,它在单词示例之前有一个图像: 比利琼斯 安娜沃尔特斯 鲍勃史密斯 汤姆亨德森
我希望它按(姓名)字母排序......
Example:
<img src="img_tr122.png"> Anna Walters
<img src="img_tr122.png"> Billy Jones
<img src="img_tr122.png"> Bob Smith
<img src="img_tr122.png"> 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>
请帮助......
感谢!!!!
答案 0 :(得分:2)
原始tablesorter(v2.0.5)不进行字母数字排序。但您可以使用我的fork of tablesorter使用以下代码对数据进行排序:
$('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
选项包含用于按姓氏排序最后一列的代码。如果要按名字排序,则只需删除整个选项。
以下是该代码的a demo。
答案 1 :(得分:0)
您可以使用具有所需功能的http://tablesorter.openwerk.de/,它具有语言环境支持,UI主题支持,支持德语日期格式和小数点。