0

我正在寻找一个质量机制来添加排序动态生成的表。我的视觉设置非常简单。在左侧,我有一系列可供选择的项目(图表,图表,图像,表格等)。一旦一个项目被点击,它会显示在页面右侧的“动态内容”div中。这一切都很好。(Rails)在动态生成的内容中维护Javascript功能...?

我遇到的问题是能够实现加载内容的某些动态功能。在这种特殊情况下,我有基于所选表格生成的动态内容,它出现在“动态内容”div中,但JavaScript排序不起作用。我试过把它包含在“应用程序布局”页面以及生成数据的部分中,但没有任何效果。但是,如果我把它放在一个“静态”页面,一切正常。任何想法如何得到这个工作?

仅供参考我在OS X上使用Rails 2.3.4,使用“sorttable.js”和Safari 4.0.3 & Firefox 3.5.5进行测试。

最好。

+0

你愿意使用jQuery吗? – 2009-11-17 18:05:11

回答

1

我会怀疑你需要在动态加载的表上调用sorttable.makeSortable(<table element>);。由于您没有提供关于如何切换表格的背景知识,因此很难提供解决方案。

Sorttable.js依赖于unobtrusive javascript,当页面完成加载时,可排序的表必须存在于dom中。然后Sorttable.js在每个具有“可排序”类的表上调用makeSortable。当你插入你的新表时,你需要做同样的事情。

+0

是的,我相信*是*问题 - 这就是为什么我试图将它添加到动态加载的内容,以便它始终与新内容实时存在,但似乎失败。您能否推荐任何其他解决方案,而不涉及我重新提交回服务器以按照新订单检索旧数据?我想保持它圆滑,但在这一点上,我为任何事情起来。 – 2009-11-17 18:46:00

+0

您是否在生成数据后尝试手动调用makeSortable? – 2009-11-17 19:35:26

0

有关如何使这项工作的任何想法?

没有更多信息,很难想出解决方案。但你有没有尝试用Firebug查看生成的页面,看看发生了什么?你的IDE有一个Javascript调试器吗?

+0

是的,我已经尝试在Safari和Firefox中进行调试,并且没有任何内容可以触发。我认为它就像flyfishr64说的那样 - 所有的数据都需要提前出现,但不幸的是,这种情况不会发生。 – 2009-11-17 18:47:02