tablesorter不会在Subject列上工作如:
Name Subject
Anton -
Max "dfdsrv"
Anna "fdsf"
但如果我添加带有spec符号的字符串,它将正常工作!
Name Subject
Anton -
Max "<dfdsrv>"//correctly working
Anna "fdsf"
P.S不幸的是我们使用旧的tablesorter版本2.0.5。 我怎么解决这个问题?我替换了&#34; - &#34;对于空字符串,但它仍然无法正常工作。也许我误会了某个地方?
textExtraction: function(node) {
if (node.innerHTML.text == "-"){
return " ";
}
}
答案 0 :(得分:2)
这是默认设置的已知问题。 Tablesorter支持解析器,用于对文本,URI,整数,货币,浮点数,IP地址,日期(ISO,长和短格式),时间进行排序。
要解决您的问题,您应该配置tablesorter以使用text parser
:
$(".tbl").tablesorter({
headers: {
0: { sorter:'text' }
}
});
http://tablesorter.com/docs/#Configuration
在更复杂的场景中(例如重新格式化,替换等),一种可行的方法是使用$.tablesorter.addParser
方法向tablesorter添加自定义解析器。
答案 1 :(得分:1)
这是一系列问题。
textExtraction
函数需要始终返回html:以下是完整代码(&amp; demo):
$('table').tablesorter({
textExtraction: function (node) {
var txt = node.innerHTML;
if (txt == "-") {
return " ";
}
return txt;
},
headers : {
1: { sorter: 'text' }
}
});
*注意:如果表格单元格中有任何制表符,空格或其他格式,例如
<td>
-
</td>
然后您需要修剪结果以获得准确的比较:
var txt = $.trim( node.innerHTML );
if (txt == "-") {