动态更改选择基于其他参数选择相同的形式?

问题描述 投票:0回答:1

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

我有各州和各国的帮手

我试过了:

<%= 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

我怎样才能做到这一点?

javascript jquery ruby-on-rails ruby
1个回答
0
投票

试试Carmen插件:

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

您还可以查看此其他stackoverflow帖子:

Ruby on Rails国家/州选择Enigma

© www.soinside.com 2019 - 2024. All rights reserved.