2

我的表单中有两个不同的字段,如下所示。

 <div class="field">
      <%= f.label :Master_Survey %><br/>
      <%= f.select :master_survey, Condition::MasterSurvey.all.map{|e| [e.Master_Survey_Code]}, { :prompt => 'Please Select' } %>
    </div>


    <div class="field">
      <%= f.label :Element_Code %><br/>
      <%= f.select :Element_Code, Condition::Element.all.map{|e| [e.Element, e.Element_Code]}, { :prompt => 'Please Select' } %>
    </div>

我希望第二个字段应该被禁用,除非第一个被选中。第二个字段Element code应根据Master Survey所选的第一个字段更改值。我Master Survey CodeElements表中有一个。

4

1 回答 1

2

如果这两个模型通过has_many/belongs_to或类似的方式相关,最好的办法是使用grouped_collection_select下拉菜单的方法。这会将您的下拉列表组织成一个选项卡式列表(使用 optgroup),然后做一些 jQuery 魔术来使 2 个下拉选择动态和链接!

Ryan Bates 有一个RailsCast,它非常详细地解释了如何做到这一点。如果您没有专业订阅 RailsCasts,我强烈建议您购买一个,这样您就可以轻松了解如何执行此类操作 :)

希望这会为您指明正确的方向!

于 2012-10-10T23:53:57.270 回答