Ruby on rails 如何使用Jquery Ajax设置约束选择?
我想根据用户选择的国家/地区,实现自动约束的县选择。Ruby on rails 如何使用Jquery Ajax设置约束选择?,ruby-on-rails,ruby-on-rails-3,jquery,Ruby On Rails,Ruby On Rails 3,Jquery,我想根据用户选择的国家/地区,实现自动约束的县选择。 当用户在“国家”字段中选择“美国”时,它应仅在“地区选择”字段中显示加利福尼亚、纽约或etcs等美国州 国家/地区型号 身份证 名字 州型号 身份证 国家识别号 郡 现在我用这样的方式展示这些领域 <% resource.build_user_profile if resource.user_profile.nil? %> <%= form_for(resource, :as => resource_name,
当用户在“国家”字段中选择“美国”时,它应仅在“地区选择”字段中显示加利福尼亚、纽约或etcs等美国州 国家/地区型号
- 身份证
- 名字
- 身份证
- 国家识别号
- 郡
<% 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 %>
资源名称,:url=>注册路径(资源名称),:html=>{:method=>:put,:class=>'form horizontal'})do | f |%>
如果您修改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仅显示与所选国家/地区匹配的选择。如果您修改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仅显示与所选国家/地区匹配的选择。谢谢。我应该用你的代码制作JS文件吗?控制器和视图呢?我只知道如果用户按submit键它是如何工作的。但在这里,用户不需要在选择国家后按提交。如何检测用户是否选择了?是的,在DOM准备好并且表单存在于DOM中之后,您需要一个JavaScript文件在某处执行此代码。最糟糕但可能最简单的方法是将代码直接复制到表单后面的ERB文件中。如果我将代码放在表单后面,我是否应该用。。。?就这样?只要复制你的代码和粘贴就可以了???不。我只是对你的标记做一些假设。
.country\u select
应该是映射到国家/地区选择的选择器。同样适用于.option\u选择
选择器。再次感谢。我很抱歉,我太傻了。如果可能的话,你能给我举个例子说明如何用控制器设置这个,以及视图必须是怎样的吗?谢谢。我应该用你的代码制作JS文件吗?控制器和视图呢?我只知道如果用户按submit键它是如何工作的。但在这里,用户不需要在选择国家后按提交。如何检测用户是否选择了?是的,在DOM准备好并且表单存在于DOM中之后,您需要一个JavaScript文件在某处执行此代码。最糟糕但可能最简单的方法是将代码直接复制到表单后面的ERB文件中。如果我将代码放在表单后面,我是否应该用。。。?就这样?只要复制你的代码和粘贴就可以了???不。我只是对你的标记做一些假设。.country\u select
应该是映射到国家/地区选择的选择器。同样适用于.option\u选择
选择器。再次感谢。我很抱歉,我太傻了。如果可能的话,你能给我举个例子,说明如何用控制器来设置它,以及视图必须如何设置吗?