我有一套3 collection_selects,我想过滤下一个选择。在第一个选择框中选择一个项目时,它应该限制第二个和第三个选择框的可能值。
类似的数据模型如下..。
表和字段
因此,在填写用于添加新锁的表单时,将有用于品牌、主人和常规的复选框。在选择一个品牌时,它会将主键和常规键限制在只属于所选品牌的主键和常规键上。
我已经找到了几个如何做到这一点的部分例子,但是没有一个是完整的。我希望有一个完整的例子来说明如何实现这一点。
发布于 2011-08-23 02:05:46
您所需要做的就是将选择绑定到一个事件侦听器,该侦听器发出一个ajax请求,填充包含后续选择的其他两个部分。即
<%= form_for @thing, :remote => true do, :update => 'second_form' |f| %>
<%= hidden_field_tag 'form_partial', :value => 'form_2' %>
<%= select_tag :some_param, [[a,a],[b,b],[c,c]] :class => 'submittable' %>
<%= f.label :checked %>
<%= thing.name %>
<% end %>
<div id='second_form'>
</div>
<div id='third_form'>
</div>
class ThingController < ApplicationController
def update
checkboxes = some_logic_to_select_checkboxes from params[:some_params]
render :partial => params[:form_partial], :locals => {:select_menu => select_menu}
end
end
$('.submittable').live('change', function() {
$(this).parents('form:first').submit();
return false;
});您的表单部分应该包含使用您想要启用的任何选择填充的窗体。思想是多余的,只需重复形式。
https://stackoverflow.com/questions/7155268
复制相似问题