JQuery tablesorter 插件 - 修改行后更新排序

发布于 2024-09-29 06:05:51 字数 323 浏览 4 评论 0原文

我使用 tablesorter 2.0,并使用 ajax 更新单元格的值。通话后,我需要再次订购行,但 $('#thisTable').trigger('update') 对我没有帮助。

我处理单元格内的标记,但这不是问题。

 $('#thisTable').tablesorter({
   textExtraction: function(node) {
     return node.getElementsByTagName('input')[0].value; 
   }
 });

任何帮助将不胜感激。

-- 克里人

I use the tablesorter 2.0, and I update the cells' value with ajax. After the call I would need to order again the rows, but the $('#thisTable').trigger('update') don't help me.

I dealing with markup inside cells, but it can't be problem.

 $('#thisTable').tablesorter({
   textExtraction: function(node) {
     return node.getElementsByTagName('input')[0].value; 
   }
 });

Any help would be appreciated.

--
Kree

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

计㈡愣 2024-10-06 06:05:51

您可以在表格排序器 docs 中找到答案。您必须触发另一个事件sorton

You can find the answer in table sorter docs. You have to trigger another event sorton.

饭团 2024-10-06 06:05:51

这是我的代码

//append some content to the tbody
$('table').trigger('update');    
var $sort = $('table').get(0).config.sortList;
$("table").trigger("sorton",[$sort]); 

在我向表体添加一些行后调用上面的代码。我可以看到 $sort 值,但触发器函数不会对新添加的行进行排序。

This is my code

//append some content to the tbody
$('table').trigger('update');    
var $sort = $('table').get(0).config.sortList;
$("table").trigger("sorton",[$sort]); 

The above is called after I add some rows to the table body. I am able to see the $sort values but the trigger function is not sorting the newly added rows.

野の 2024-10-06 06:05:51

我对源代码做了一些小改动。我已向更新事件处理程序添加了一个参数来要求排序。

$("#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);
});

I've have a small change in the source code. I've added a parameter to the update event handler to ask for sorting.

$("#MyTable").trigger('update') will work as usual.

$("#MyTable").trigger('update', true) will ask for sorting after the update.

$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);
});
深爱成瘾 2024-10-06 06:05:51

关于“更新”事件的实施,
它在 1ms 超时后执行更新。
eather这个函数应该在表排序器中重写,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);

Regarding to the implementation of the "update" event,
it executes the update after a timeout of 1ms.
eather this function should be rewritten in the table sorter, eather using a callback.

$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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文