【问题标题】:Maintaining Javascript functionality in dynamically generated content在动态生成的内容中维护 Javascript 功能
【发布时间】:2010-12-17 13:34:41
【问题描述】:

我正在寻找一种质量机制来为动态生成的表添加排序。我的视觉设置非常简单。在左侧,我有一个菜单,其中包含一系列可供选择的项目(图表、图形、图像、表格等)。单击项目后,它将显示在页面右侧的“动态内容”div中。一切正常。

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

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

【问题讨论】:

  • 你愿意使用 jQuery 吗?

标签: javascript ruby-on-rails dynamic-content sorttable.js


【解决方案1】:

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

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

【讨论】:

  • 是的,我相信的问题——这就是为什么我尝试将它添加到动态加载的内容中,以便它始终与新内容,但这似乎失败了。您能否推荐任何其他不涉及我重新提交回服务器以以新顺序检索旧数据的解决方案?我想让它保持时尚,但在这一点上,我愿意做任何事情。
  • 您是否尝试过在生成数据后手动调用 makeSortable?
【解决方案2】:

关于如何让它发挥作用的任何想法?

如果没有更多信息,很难想出解决方案。但是您是否尝试过使用 Firebug 查看生成的页面以了解发生了什么?你的 IDE 有 Javascript 调试器吗?

【讨论】:

  • 是的,我已经尝试在 Safari 和 Firefox 中进行调试,但似乎没有任何反应。我认为正如 flyfishr64 所说的那样——所有数据都必须预先存在,不幸的是,在这种情况下不会发生这种情况。
猜你喜欢
  • 2011-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
  • 1970-01-01
  • 2011-02-24
  • 2012-08-14
相关资源
最近更新 更多