【问题标题】:Tablesorter How to update table header valuesTablesorter 如何更新表头值
【发布时间】:2019-11-16 20:47:19
【问题描述】:

我正在使用 Motties tablesorter table,它就像一个魅力。现在我需要动态更新列标题,并且可以选择更新表格内容。更新内容工作正常。我将如何更新 tablesorter 表的表头文本? 这就是我更新 table2 内容的方式:

var $table = $('#table2');
$.tablesorter.clearTableBody( $table[0] );
$("#table2 tbody").append(data);
var resort = true;
$("#table2").trigger("update", [resort]);

如何只更新表头? 我以为我可以这样做:

var headers= ["Banana", "Orange", "Apple", "Mango"];
$('table2 thead').html('<tr>' + headers + '</tr>');

但它只会在标题行顶部附加一个新标题。

更新: 好的,这是我到目前为止完全更新标题的工作:

var hdr = new Array("Banana", "Orange", "Apple", "Mango");
var i =0;
$("#table2 thead th").each(function () {
$(this).text(hdr[i])
i++;
})

【问题讨论】:

  • 我忘了说我当然要更新现有的标题

标签: javascript html html-table tablesorter tableheader


【解决方案1】:

如果您更新标头只是为了更改标头的内容,请使用updateHeaders

如果您要添加或删除列,请使用updateAll;但是,如果过度使用,这种方法已被证明是不可靠的。在这种情况下,最好的解决方案是destroy tablesorter 实例并重新初始化它。

【讨论】:

  • 谢谢 Mottie,我看到了那个例子(updateHeaders),但是我如何(!)为标题文本设置新值(每列单独)?
  • 我仍然不确定您要做什么。每列的新值?你的意思是你只更新文本?
  • 是的,我只想更新文本。实际上,在我从 ajax 调用中取回数据后,我真的很想更新包括标题在内的完整表格。到目前为止,我成功地使用上面的附加代码更新表行和列。但我还需要用新文本更新列标题。
  • 我不是查询专家:-/
【解决方案2】:

这将是更新所有列标题的答案。 'thead th' 组合是更新正确标题的解决方案。

var hdr = new Array("Banana", "Orange", "Apple", "Mango");
var i =0;
$("#table2 thead th").each(function () {
$(this).text(hdr[i])
i++;
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    相关资源
    最近更新 更多