我使用jquery链接,我试图让第二个下拉列表灰显,如果第一个选择了空白选项。我假设我在第二个列表中需要一个空白选项才能锁定,但我不确定如何添加空白选项。这是选择选项
<%= select_tag :equipment, options_for_select(Equipment.all.collect
{ |e| ["#{e.model} - #{e.serialNum}",e.id,
:class =>"#{e.handReceipt}"]},
html_options = {:id=>'equipment'}) %>
第一个下拉列表允许您选择手工收据类型,并且使用jquery链接,第二个列表仅显示具有相应手工收据属性的记录。
如何在上面的选择中添加空白选项?
编辑 - 这是我到目前为止所尝试的内容 -
<%= select_tag :equipment,
options_for_select( [["--",""],
Equipment.all.collect{ |e|
["#{e.model} - #{e.serialNum}",
e.id, :class =>"#{e.handReceipt}"]}],
html_options = {:id=>'equipment'}) %>
这会导致列表显示不正确 -
<select id="equipment" name="equipment">
<option value="">--</option>
<option value="["M4 - W432156", 10, {:class=>"Arms Room"}]">["PSN-13 - 176985", 1, {:class=>"Commo"}]</option>
</select>
它不是显示表格中的所有记录,而是显示空白选项和第二个选项。
<%= select_tag :equipment,
options_for_select( :include_blank => true,
Equipment.all.collect{ |e|
["#{e.model} - #{e.serialNum}",
e.id, :class =>"#{e.handReceipt}"]},
html_options = {:id=>'equipment'}) %>
导致以下错误 -
C:/Users/Sam/Documents/ruby/btrp/app/views/vehicles/edit.html.erb:19: syntax error, unexpected ',', expecting tASSOC
e.id, :class =>"#{e.handReceipt}"]},
答案 0 :(得分:14)
options_for_select
的参数错误,我认为这是正确的方法:
<%= select_tag :equipment,
options_for_select(Equipment.all.collect { |e|
["#{e.model} - #{e.serialNum}", e.id,
{ :class =>"#{e.handReceipt}" }]}),
:include_blank => true,
:id => 'equipment' %>
阅读更多内容:
http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html
答案 1 :(得分:0)
您可以像这样附加空白值。
<%= select_tag "category","<option value=''>Category</option>" + options_from_collection_for_select(@store_categories, "id", "name",params[:category].to_i)%>