我有一个表单(form_for),我希望用户能够使用select方法选择多个“类别”。
= form_for @place, :url=>{:action=>"#"} do |f|
#appended_wrapper
.categories
= f.label :categories, "Categories: "
= f.select :categories, %w(Active Art Auto Food), {:include_blank => true}
= f.submit "Submit"
每次用户选择一个类别时,我都会让jQuery附加一个div,其中包含类别的值,以便用户可以查看和删除他们添加的类别。
$('#hotel_categories').change(function(){
value = $(this).val();
$('#appended_wrapper').append( '<div class="appended"> '+value+' <a class="remove" href="#">Remove</a></div>' );
$('.remove').click(function(){
$(this).parent(".appended").remove();
});
});
当我按下提交按钮时,我希望所有选定的类别都以数组的形式传递给我的控制器。
我如何实现这一目标?
感谢。
答案 0 :(得分:3)
在div中添加一个隐藏的输入字段,如下所示:
<input name="category_ids[]" type="hidden" value="1">
该值表示类别的ID。注意category_ids旁边的方括号。 所有隐藏的输入都必须具有完全相同的名称。
值将作为控制器中params散列中的数组传递。