使用JQuery Tablesorter,子行和使用ajax重新加载子行

时间:2013-09-17 22:54:16

标签: jquery parent-child tablesorter

所以我正在使用jquery.tablesorter.js 2.0,这很好。但是,我现在添加了子行,这意味着为了保持排序工作,我还必须使用jquery.tablesorter.mod.js,它提供了一种在排序时使子行保持父行的机制。这也像宣传的那样有效。

问题是我需要能够使用ajax动态刷新这些子行,因为子行用于显示现有注释或新注释行。当用户键入新笔记时,保存会刷新该行并将其作为现有笔记返回。删除现有注释后,保存将刷新该行,以便删除的注释消失。

为了帮助描绘我在这里尝试做什么,这就是表格与子行的现有注释一样。

enter image description here

为了完成这些行的动态刷新,我必须将它们包装在< tbody>中。标签,因为我似乎只能刷新元素的内容,而不是元素本身。所以行是tbody的内容。

如果没有行排序,行的动态刷新效果很好。如果没有动态刷新行,表格排序效果很好。任何人都可以告诉我如何能够让它一起工作吗?

如果我可以使用jquery ajax刷新整个表行而不使用< tbody>标签,这将使我的所有问题消失,但我也愿意修改tablesorter.js或tablesorter.mod.js或完全使用不同的表排序脚本。

这就是我的基本HTML在我的桌子中的样子。

<table class=sortable>
  <thead><th>Column Header</th></thead>
  <tr><td>Parent Row</td></tr>
  <tbody>
    <tr><td>Child Row</td></tr>
  </tbody>
</table>

1 个答案:

答案 0 :(得分:2)

我最终通过摆脱&lt; tbody&gt;来解决这个问题。标记并将子“row”的内容放在&lt; td&gt;内。在行内。像这样。

<table class=sortable>
  <thead><th>Column Header</th></thead>
  <tr><td>Parent Row</td></tr>
  <tr><td id=childrow><div>blah blah blah</div></td></tr>
</table>

这样我就可以重新加载&lt; td&gt;的内容了。并没有把桌子弄得一团糟。