这里的tablesorter自定义分析器是我的自定义解析器:jQuery的 - 不工作
$.tablesorter.addParser({
id: "customParser",
is: function (stringValue) {
return false;
},
format: function (stringValue) {
var stringValueParts = stringValue.split("-");
var numericPartOfStringValue = parseInt(stringValueParts[2]);
return numericPartOfStringValue ;
},
type: 'numeric'
});
stringValue的都会有这样的值:
- ABC-DE-1
- ABC-DE-10
- ABC-DE-100
- ABC-DE-101
- ABC-DE-1000
这里是我建立的的tablesorter并添加自定义排序解析器代码:
$(function() {
$("#dataTable").tablesorter({
headers: {
3: {
sorter: 'customParser'
}
}
});
});
我没加的console.log(numericPartOfStringValue)和所有的数字被写入到控制台,因此它看起来像解析器正在做它应该做的。
那么我想发生什么?
我想我的价值观要对如下字符串的数字部分进行排序:
- ABC-DE-1
- ABC-DE-10
- ABC-DE-100
- ABC-DE-101
- ABC-DE-1000
实际发生了什么?
的值进行排序以这种方式:
- ABC-DE-1
- ABC-DE-10
- ABC-DE-100
- ABC-DE-1000
- ABC-DE-101
什么来着我试试吗?
添加以下到我的HTML,但它并没有发挥作用:
<th class="{sorter: 'CustomParser'}">
String Value Column
</th>
最后:
这里是表单元格的值,例如:
<td>
<span class="badge">ABC-DE-1</span>
</td>
您使用的数据表或的tablesorter?如果你想继续使用tablesorter,试试我的[fork of tablesorter](http://mottie.github.io/tablesorter/docs/),默认情况下它使用字母数字排序。所以在你的情况下不需要特殊的解析器。 – Mottie
我同时使用了用于分页的分页和tablesorter的数据表。问题是我的自定义tablesorter分析器不能使用数据表分页。我不知道为什么我没有使用数据表排序,所以我已经切换我的代码来使用数据表排序。我在数据表中实现了一个自定义分析器,现在一切正在运行。 因此,这个问题现在是多余的。谢谢你看看。 –