我从昨天起就到处寻找解决问题的方法。 我有一张桌子,我对我的一些colums进行排序,有些我不这样做。其中一个是textboxinput,我使用解析器。我的问题呢? 好吧,文本框中的colums在第一次点击那行时得到排序但是他们以错误的顺序得到了sorrtet然后第二次点击它再次排序它没有做任何事情。
我认为这很奇怪,并且已经开始检查我的其他jquery文件,看看我是否有任何可能阻止这个但我想检查我的代码是否正确以及更好的方法,然后在这里。
我一直在阅读这些链接中的tablesorter:
http://mottie.github.io/tablesorter/docs/example-parsers-advanced.html
http://tablesorter.com/docs/example-parsers.html
我的代码:
// custom sorting of value in text input
$.tablesorter.addParser({
id: 'input_text',
is: function (s) {
// return false so this parser is not auto detected
return false;
},
format: function (s) {
return $(s).attr('value');
},
type: 'text'
});
// Tablesorter
if ($(".attendanceList tbody tr").length > 0) {
$(".attendanceList").tablesorter({ headers: {
1: { sorter: false },
2: { sorter: 'input_text' },
3: { sorter: false },
4: { sorter: false },
5: { sorter: false },
6: { sorter: false },
7: { sorter: false },
8: { sorter: false },
9: { sorter: false },
10: { sorter: false}
},
sortList: [[2, 1], [0, 0]]
});
}
我的问题图片:
编辑:
我原谅提到排序也应该能够对不仅是数字的字母进行排序
答案 0 :(得分:1)
$(".attendanceList").tablesorter({
headers: {
column Number: { sorter: 'digit' }
}
});
答案 1 :(得分:0)
将type: 'text'
更改为type: 'numeric'
答案 2 :(得分:0)
前段时间我解决了这个问题,但忘了更新。 问题是这段代码
return $(s).attr('value')
给了我一个未定义的值 我改为:
return s
并且排序工作。