javascript - Fetching database records based on user selection in rails -


i have "room type" table full of values, want make when user selects room type collection_select rest of form gets updated room type's values, can detect when selection changed javascript through $('#room_roomtype_id').change , room type selected through $('#room_roomtype_id :selected').text() have no idea, , hours of searching have been futile, how update other form fields data room type table.

here form code:

<%= form_for @room |f| %>         <% if @room.errors.any? %>             <div class="error_messages">                 <h2>form invalid</h2>                 <ul>                     <% 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 %> 

something should work:

$('#room_roomtype_id').on('change', function () {      // url sake of example - yours differ     $.get('/rooms/' + this.value + '.json', function (response) {      // dummy response sake of example     response = {         "number": "5a",         "maxcap": "10"     };      $.each(response, function (key, value) {         $('[name="room[' + key + ']"]').val(value);     }); }); 

Comments