【问题标题】:Linked List Dependent Select Boxes链接列表相关选择框
【发布时间】:2010-02-26 23:23:35
【问题描述】:

所以我已经很久没有这样做了,但我完全坚持这一点。我有一个看起来像这样的模型(为简洁起见):

class ReqBreakdown < ActiveRecord::Base
  belongs_to :next_level #nil if lowest level
  belongs_to :previous_level #nil if highest level
  belongs_to :requirement_level
end

我需要一种从 UI 构建这些列表的方法。我最初设想使用如下所述的链接下拉列表:http://blog.jatinder.me/2006/09/cascading-select-boxes-with-rjs.html,但我什至无法让它在我的控制器上调用操作。我将描述的 javascript 复制到我的 application.js 中,确保它包含在我的布局中,将帮助程序添加到 application_helper.rb,并将支持操作添加到我的控制器,但没有运气。老实说,我什至不确定它是否能满足我的要求。 选择规则是:

  1. 最多 4 个级别(即 4 个选择框)。
  2. 没有循环引用(即必须从下一个要选择的文本框中删除所有先前选择的项目)
  3. 所选对象都属于同一类型(requirement_level)

有什么建议吗?

【问题讨论】:

    标签: jquery ruby-on-rails ruby rjs


    【解决方案1】:

    既然你还在开始,我可以建议你看优秀的 railscasts 剧集吗?特别是这里的那个:

    我知道这可能不是您正在寻找的答案,但由于您无法将控制器连接起来以执行您想做的任何事情,您的问题可能真的存在于任何地方。 Ryan(railscasts 的作者)很好地解释了这些小东西,并为他的所有剧集提供了完整的源代码。

    如果这是我,我可能会做两件事之一。

    1. 抛弃 rjs,并使用 jquery 客户端来处理几乎所有事情。 jquery 在这里真的很出色。如果数据列表是静态的,那就更好了,但如果不是,您可以使用 ajax 随时为您更新内容。
    2. 查看不同的 UI 元素,可能是多选框或复选框组,具体取决于具体情况。

    我对你所寻找的方向没有任何问题,但由于你对这个问题的技术细节有点了解,我真的只是给出一些一般性的建议而不是具体的答案。

    祝你好运!

    【讨论】:

    • 谢谢,我正在看这个。不过,另一个菜鸟问题,这次是关于 javascript。在那个特定的 RailsCast 中,他的 javascript 包含调用: $('element_id').getValue() //element_id 在从选择标签中获取值时是一个选择标签。但是,至少就 Firebug 而言,这似乎不是有效的 javascript。我错过了什么还是不对?
    • 在那次 railscasts 中,他正在使用提供此功能的原型库。我对 jquery 更熟悉,但它们都有一个相似的概念,即能够通过 ID 或 CSS 类在 dom 中选择事物。看这里:api.prototypejs.org/dom/dollar.html $$ 函数对原型世界中的类做同样的事情。基本上,您使用$$$ 选择一些东西,然后使用隐藏、显示等方法对其进行操作。prototype 和 jquery 本身都是各种语言,但很好值得花时间投资学习它们。
    猜你喜欢
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 2015-06-30
    • 2016-02-24
    相关资源
    最近更新 更多