根据其他参数选择以相同形式动态更改选择?

时间:2019-03-29 04:24:35

标签: javascript jquery ruby-on-rails ruby

我的表格具有国家和州的参数。我希望根据所选择的国家/地区来更改以减少选择。

我有州和国家的帮助者

我尝试过:

<%= f.select(:country, options_for_select((countries), @stripe_account[:country]), {}, { class: "form-control input-lg" }) %>


  <div class="form-group">
     <%= f.label :address_state, "State/Province/Region" %>
     <div class="field <%= @stripe_account.country == 'US' ? 'present' : 'hidden' %>">
       <%= f.select(:address_state, options_for_select((us_states), @stripe_account[:address_state]), {}, { class: "form-control input-lg", id: "address_state us-states"}) %>
     </div>
     <div class= "field <%= @stripe_account.country == 'AU' ? 'present' : 'hidden' %>">
       <%= f.select(:address_state, options_for_select((au_regions), @stripe_account[:address_state]), {}, { class: "form-control input-lg", id: "address_state au_regions"}) %>
     </div>
...
</div>

这似乎不起作用。我不喜欢的另一件事是,它仅隐藏表单但不隐藏样式。因此它只是隐藏着,并且有空白区域。

我已经为其他表格做了这样的事情,但除非使用HTML,否则似乎无法正常工作

  $("#country").on("change",function(){"US"===$(this).val()?$("#banking-us, #banking-us-1").show():$("#banking-us, #banking-us-1").hide()});

我尝试了使用rails表单,但是似乎没有用。

所有选择均基于以下形式的帮助者:

def countries
  [
    ['US'],
    ['AU'],
  ]
end

我该怎么做?

1 个答案:

答案 0 :(得分:0)

尝试Carmen插件:

http://autonomousmachine.com/posts/2009/4/1/carmen-a-rails-plugin-for-geographic-names-and-abbreviations

您还可以检查其他stackoverflow帖子:

Ruby on Rails国家/地区选择谜题