我使用tablesorter 2.0,并使用ajax更新单元格的值。通话结束后,我需要再次订购行,但$('#thisTable')。触发器('update')对我没有帮助。
我处理单元格内的标记,但这不是问题。
$('#thisTable').tablesorter({
textExtraction: function(node) {
return node.getElementsByTagName('input')[0].value;
}
});
任何帮助都将不胜感激。
- 克里
答案 0 :(得分:3)
您可以在表格分类器docs中找到答案。您必须触发另一个事件sorton
。
答案 1 :(得分:1)
这是我的代码
//append some content to the tbody
$('table').trigger('update');
var $sort = $('table').get(0).config.sortList;
$("table").trigger("sorton",[$sort]);
在向表体添加一些行后调用上面的内容。我能够看到$ sort值,但是触发器函数没有对新添加的行进行排序。
答案 2 :(得分:1)
我的源代码有一点变化。我已经在update事件处理程序中添加了一个参数来请求排序。
$("#MyTable").trigger('update')
将照常运作。
$("#MyTable").trigger('update', true)
会在更新后要求排序。
$this.bind("update", function (e, sort) {
var me = this;
setTimeout(function () {
// rebuild parsers.
me.config.parsers = buildParserCache(
me, $headers);
// rebuild the cache map
cache = buildCache(me);
// ADDED
if (sort) $(me).trigger('sorton', [me.config.sortList]);
}, 1);
});
答案 3 :(得分:0)
关于"更新"的实施事件, 它会在超时1ms后执行更新。 这个函数应该在表分类器中重写,使用回调进行eather。
$this.bind("update", function () {
var me = this;
setTimeout(function () {
// rebuild parsers.
me.config.parsers = buildParserCache(
me, $headers);
// rebuild the cache map
cache = buildCache(me);
}, 1);