我想根据用户选择的国家/地区实施县的自动约束选择 当用户在国家领域选择美国时,它应该只显示加利福尼亚州或纽约州等美国州,在县选择领域。
国家模型有
县模型
现在我正在显示这样的字段
<% resource.build_user_profile if resource.user_profile.nil? %>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put, :class => 'form-horizontal' }) do |f| %>
<%= devise_error_messages! %>
<%= f.fields_for :user_profile do |profile_form| %>
<label class="control-label"><%= profile_form.label :country_id %></label>
<%= profile_form_select :country, options_for_select(Countryy.all.map{ |g| [g.name, g.id] }) %>
<label class="control-label"><%= profile_form.label :prefecture_id %></label>
<%= profile_form_select :prefecture, options_for_select(Prefecture.all.map{ |g| [g.name, g.id] }) %>
<% end %>
答案 0 :(得分:1)
如果修改HTML以编写自定义选择选项生成器,则可以使用下面的一些JS。
JavaScript的:
$(".country_select").change(function() {
var country_id = $(this).val();
if(country_id) {
$(".prefecture_select option[country_id="+country_id+"]").hide();
} else {
$(".prefecture_select option").show();
}
}
如果您不想编写自定义选择帮助程序,则下一个最简单的操作是创建多个选择并使用JS仅显示与所选国家/地区匹配的选项。