Types 表排序对整型和字符串列进行排序
我的tablesorter列包含如下数据[20823、C420837、9823927、47-123、C47293]以及非类型的空格时出现了一个问题 问题是,当我尝试对它们进行排序(asc或desc)时,我的表排序将所有数字类型组合在一起,然后我的其余数据将按另一列中的字段按字母顺序排序。我希望所有的数据与所有的非类型一起排序,要么在顶部,要么在下面,而不是在整个空间中。如果您能帮助我们了解如何对这些数据进行自定义排序,我们将不胜感激 编辑:我添加了一个自定义解析器Types 表排序对整型和字符串列进行排序,types,tablesorter,Types,Tablesorter,我的tablesorter列包含如下数据[20823、C420837、9823927、47-123、C47293]以及非类型的空格时出现了一个问题 问题是,当我尝试对它们进行排序(asc或desc)时,我的表排序将所有数字类型组合在一起,然后我的其余数据将按另一列中的字段按字母顺序排序。我希望所有的数据与所有的非类型一起排序,要么在顶部,要么在下面,而不是在整个空间中。如果您能帮助我们了解如何对这些数据进行自定义排序,我们将不胜感激 编辑:我添加了一个自定义解析器 $.tablesorter.a
$.tablesorter.addParser({
// set a unique id
id: 'enumsos',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
return s.toString();
},
// set type, either numeric or text
type: 'text'
});
$(function() {
$("table").tablesorter({
headers: {
7: {
sorter:'enumsos'
}
}
});
});
现在我遇到了一个新问题,排序是有效的,但它只对我的内容进行降序排序,这适用于所有列!发生了什么事?我不确定如何对
47-123
值进行排序,但如果修改解析器以从内容中删除所有非数字值(小数点除外),则只有数字值会排序()
对于空单元格,您可以使用设置它们的排序位置,或者如果该列包含非数字字符串,如“N/A”,则可以使用,但首先需要修改上述解析器,以不替换所有非数字。这太糟糕了。祝你好运。你有问题吗?是的,我的问题是如何正确地对列进行排序?
$.tablesorter.addParser({
// set a unique id
id: 'enumsos',
is: function (s) {
// return false so this parser is not auto detected
return false;
},
format: function (s) {
// format your data for normalization
return s.toString().replace(/[^\d.]/g, '');
},
// set type, either numeric or text
type: 'numeric'
});
$(function () {
$('table').tablesorter({
headers: {
0: {
sorter: 'enumsos'
}
}
});
});