値でいっぱいの「部屋タイプ」テーブルがあります。ユーザーが collection_select から部屋タイプを選択すると、フォームの残りの部分がその部屋タイプの値で更新され、選択が変更されたことを検出できるようにしたいと考えています。 $('#room_roomtype_id').change を使用して javascript を使用し、$('#room_roomtype_id :selected').text() を介してどの部屋タイプを選択したかを調べましたが、何時間もかけて検索しても無駄でした。ルーム タイプ テーブルのデータで他のフォーム フィールドを更新します。
ここに私のフォームコードがあります:
<%= form_for @room do |f| %>
<% if @room.errors.any? %>
<div class="error_messages">
<h2>Form is invalid</h2>
<ul>
<% for message in @room.errors.full_messages %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<p id="roomtypes", data-url="<%= url_for :controller => 'rooms', :action => 'roomtypeupdate' %>">
<%= f.label :roomtype_id, "Room type" %><br />
<%= f.collection_select :roomtype_id, Roomtype.order(:name), :id, :name, include_blank: true %>
</p>
<p>
<%= f.label :number, "Room number" %><br />
<%= f.text_field :number %>
</p>
<p>
<%= f.label :maxcap, "Capacity" %><br />
<%= f.number_field :maxcap %>
</p>
<p>
<%= f.label :size, "Size" %><br />
<%= f.number_field :size %>
</p>
<p>
<%= f.label :description, "Description" %><br />
<%= f.text_area :description %>
</p>
<p>
<%= f.label :singlebeds, "Number of single beds" %><br />
<%= f.number_field :singlebeds %>
</p>
<p>
<%= f.label :bathrooms, "Number of bathrooms" %><br />
<%= f.number_field :bathrooms %>
</p>
<br />
<p class="button"><%= f.submit %></p>
<% end %>