在rails中基于用户选择获取数据库记录
Fetching database records based on user selection in rails
我有一个充满值的"房间类型"表,我想让它这样,当用户从collection_select中选择一个房间类型时,表单的其余部分将使用该房间类型的值更新,我可以检测选择何时通过javascript通过$('#room_roomtype_id')更改。通过$('#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 %>
应该这样做:
$('#room_roomtype_id').on('change', function () {
// URL for the sake of example - yours will differ
$.get('/rooms/' + this.value + '.json', function (response) {
// dummy response for the sake of example
response = {
"number": "5A",
"maxcap": "10"
};
$.each(response, function (key, value) {
$('[name="room[' + key + ']"]').val(value);
});
});
相关文章:
- 在动态创建的元素上获取对特定选择器的引用
- 获取选择框的状态
- 如何从选择框中的选项中获取属性值
- 从选择下拉菜单中获取数据
- 获取用户选择的不带时区的日期
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- jQuery inArray函数在更改选择时未获取值
- Bootstrap点击选择获取点击值
- 根据用户选择获取 JSON 密钥
- 根据另一个字段选择获取新值后更新下拉列表内容
- 根据用户在边栏中的选择获取记录
- 用户选择 - 获取参考以供将来使用
- 选择2:获取格式选择以具有特定的上下文
- j查询选择“获取选择时更改事件”选项
- Angular2的ngFor用于多个选择框.下一步选择获取值
- 根据第一个下拉选择获取值
- 选项选择获取值而不重新加载页面
- 在rails中基于用户选择获取数据库记录
- Javascript:基于下拉选择获取数组
- AngularJS Jasmine单元测试在索引x处选择获取选项