2013-05-16 27 views
0

我试图使用过滤来更新表格的内容。数据从视图中显示,使用foreach指令构建表。只显示表格按预期工作。刷新表中的部分添加内容而不是更改内容

但是,当我开始过滤时,在table之外放置的span中添加了新数据,而没有标记(td s和内容被删除)。我不知道为什么它这样做。

我想知道我做错了什么,以及如何获得预期的结果:在视图上应用过滤器时更新表格。

InstantAT重现问题:http://juliandescottes.github.io/instantat/#5194e132e4b051dece0c7924

回答

1

的问题是,我应该已经指定,而不是包裹它自己在tbody

这种款型是车段定义:

<table> 
    ... 
    <tbody> 
     {section { id : "table_data", macro: "tableContent"} /} 
    </tbody> 
</table> 

我用这个定义代替它:

<table> 
    ... 
    {section { id : "table_data", macro: "tableContent", type: "tbody"} /} 
</table> 

它将该部分附加到tbody本身,而不是作为默认容器的span。由于span不是table的有效孩子,所以它被放置在它外面。

演示:http://juliandescottes.github.io/instantat/#51961bcde4b0988ed5cb6869

2

的跨度被渲染表以外的其他地区只与浏览器中的事实。 你基本上不能在表格中间放置一个跨度,浏览器只会将它移动到表格外。 (当然,在一个单元格内 - 你可以!)

所以它与框架无关,因此不是问题。这只是HTML和浏览器。

+0

你说得对,它非常有意义。我会留下答案不变,因为这是实际的修正,并添加解释。谢谢! – dgn