当我使用tablesorter时,当我在表格单元格中添加一些数字来表示数字时,我无法正确排序。 例如。 30 MB,50 MB等。
无论如何都要告诉排序忽略单元格中的文本,即。这个例子中的MB?
此外,关于内嵌样式和标签: 如何正确理清以下内容?
<td><span>upto</span> 50 <br /> MB</td>
考虑“upto”和“MB”文字以及<br />
标记。
答案 0 :(得分:4)
我发现在jQuery网站上托管的tablesorter代码的分叉/更新版本中解决了“问题”。 分叉版本在这里: http://mottie.github.com/tablesorter/docs/index.html
答案 1 :(得分:3)
尝试将textExtraction选项传递给tableSorter方法。
以下内容:
var extractData = function(node) {
return $(node).text().replace(/[^0-9.]/g, '');
}
$(document).ready(function() {
$("#yourTable").tableSorter( {
textExtraction: extractData
} );
} );
DOC链接:http://tablesorter.com/docs/
检查示例@:http://tablesorter.com/docs/example-option-text-extraction.html
答案 2 :(得分:0)
找到了另一种方法: 更改代码如下:
<td>upto<br /><span>50</span>MB</td>
应用以下文本提取:
textExtraction: {
3: function(node) {
return $(node).find("span:last").html();
}
}
答案 3 :(得分:0)
正如其他答案所述,我正在使用tablesorter textExtraction feature
在处理具有复杂和简单列标记的表时,我发现这个排序属性解决方案很有用:
$(".tablesorter").tablesorter({
textExtraction: function(node) {
// look for a 'sort' attribute in <td> element
var sort = node.getAttribute('sort');
if(sort){
//use it for sorting if found
return sort;
}else{
//default sorting behaviour if not found
return node.innerHTML;
}
}
});