【问题标题】:Ajax pop up box using Ruby on Rails使用 Ruby on Rails 的 Ajax 弹出框
【发布时间】:2010-11-21 12:28:26
【问题描述】:

这是一个非常基本的问题,但我找不到一个好的答案。我的 Rails 应用程序中有一个页面,其中有许多可以“标记”的对象。单击标志按钮应该会显示一个带有确认、小表单等的小框。问题是我不知道如何使用 RJS 模板来执行此操作。

我一直在使用 page.insert_html,但这需要一个 ID。为了完成这项工作,我必须为每个可以标记的事物分配一个唯一 ID。这看起来不是很干净,仍然让我想知道确保只能显示一个表单并且该框在提交时消失。这个问题有更简单的解决方案吗?我本质上想创建类似于 SO 上出现的标志框的东西。抱歉,我对 RJS 模板比较陌生。谢谢。

【问题讨论】:

    标签: javascript ruby-on-rails ajax popup rjs


    【解决方案1】:

    您可以使用jquery facebox 执行此操作。这种事情最好不要在 rjs 中完成,但在不显眼的 javascript 中,这就是现在每个人都在前进的地方,它更干净。您可以将 facebox rel 附加到您的链接,然后单击它可以在弹出窗口中打开表单。

    然后在您的弹出窗口中,您可以执行表单和重定向或其他操作。用户将只能单击一个,因为当弹出窗口打开时,覆盖层会覆盖在页面上,因此在其外部单击无效或关闭表单(我认为您在配置中选择)。

    听起来不错。

    【讨论】:

    • 太好了,我注意到有很多用于 Rails 的灯箱插件。您是否推荐使用 Facebook 而不是其他人?我看到一些可以使用原型/脚本/没有看起来吸引人的东西(例如 iBox)。
    • 我用过一些。这绝对是最好的。易于使用且看起来不错。
    【解决方案2】:

    jQuery UI 也有一个 Dialog 小部件,它非常适合这种事情。这是一个不错的小部件,您可以自定义您的 jQuery UI 库以包含(或者如果您希望将更精简的 javascript 传递给浏览器,则排除)其他方便的小部件(手风琴、进度条等)

    jQuery Dialog查看对话框示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多