【问题标题】:Two dependent drop down menu items from arrays in model in RailsRails中模型中数组的两个相关下拉菜单项
【发布时间】:2015-10-09 07:00:38
【问题描述】:

我已经在 Google/stackoverflow 上搜索了几个小时,但没有找到任何符合我要求的东西。我是 Rails 新手,我正在开发 Rails 4.2.4 中的错误跟踪系统。在这里,我有一个名为 Bug 的类。在创建错误时,我有两个下拉菜单,它们将填充模型中的数组值。我的模型如下所示:

class Bug < ActiveRecord::Base
    belongs_to :creator, :class_name => "User", :foreign_key => "creator_id"
    belongs_to :developer, :class_name => "User", :foreign_key => "developer_id"

    TYPE = ['Feature', 'Bug']
    FEATURE_STATUS = ['New', 'Started', 'Completed']
    BUG_STATUS = ['New', 'Started', 'Resolved']

    validates :title, :presence => true, :uniqueness => true
    validates :status, :type, :presence => true

    has_attached_file :screen_shot
    validates_attachment_content_type :image, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]

end

_form.html.erb 文件中有一些代码会显示下拉选项:

...
...
...
<div class="form-group">
    <%#= f.label :bug_type, class: "col-sm-2 control-label" %>
    <%= f.label :bug_type, t('.bug_type') + ":" %>
    <%= f.select :bug_type,
    Bug::TYPE,
    :prompt => "Select bug type:"
    %>
</div>
<div class="form-group">
    <%#= f.label :status, class: "col-sm-2 control-label" %>
    <%= f.label :status, t('.status') + ":" %>
    <%= f.select :status,
    Bug::FEATURE_STATUS,
    :prompt => "Select status:"
    %>
</div>

...
...
...

目前,我的代码在第一个下拉列表中显示数组 Bug::TYPE 的值,在第二个下拉列表中显示来自 Bug::FEATURE_STATUS 的值。我的问题是如何根据第一个下拉列表的值用数组值填充第二个下拉列表?也就是说,如果用户从第一个下拉列表中选择值“Feature”,则第二个下拉列表应显示 FEATURE_STATUS 数组的值。如果用户从第一个下拉列表中选择一个值“Bug”,那么第二个下拉列表应该显示数组 FEATURE_BUG 的值。

我是 stack over flow 的新手,这是我在这里问的第二个问题。任何帮助将不胜感激。提前致谢。

【问题讨论】:

    标签: javascript jquery ruby-on-rails drop-down-menu


    【解决方案1】:

    您必须使用 JQuery 才能做到这一点:

    $('#select_id').on('change', function() {
      //populate the second one here
    });
    

    然后在此处查看如何填充选择的更多详细信息:

    How to change options of <select> with jQuery?

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 2021-07-06
      • 2018-03-20
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多