6

私はチェーンされたjqueryを使用しており、最初のドロップダウンリストに空白のオプションが選択されている場合、2番目のドロップダウンリストをグレーアウトしようとしています。ロックアウトするには、2 番目のリストに空白のオプションが必要だと思いますが、空白のオプションを追加する方法がわかりません。選択オプションはこちら

<%= select_tag :equipment, options_for_select(Equipment.all.collect
                                            { |e| ["#{e.model} - #{e.serialNum}",e.id, 
                                            :class =>"#{e.handReceipt}"]},
                                            html_options = {:id=>'equipment'}) %>

最初のドロップダウン リストでは、ハンド レシート タイプを選択できます。jquery チェーンを使用すると、2 番目のリストには、適切なハンド レシート属性を持つレコードのみが表示されます。

上記の選択に空白のオプションを追加するにはどうすればよいですか?

編集-これが私がこれまでに試したことです-

<%= 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="[&quot;M4 - W432156&quot;, 10, {:class=&gt;&quot;Arms Room&quot;}]">[&quot;PSN-13 - 176985&quot;, 1, {:class=&gt;&quot;Commo&quot;}]</option>
</select>

テーブル内のすべてのレコードを表示する代わりに、空白のオプションと 2 番目のオプションのみを表示します。

<%= 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}"]},
4

2 に答える 2