栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Rails 4:如何通过AJAX基于另一个collection_select更新一个collection_select?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Rails 4:如何通过AJAX基于另一个collection_select更新一个collection_select?

我做到了,解决方案非常简单,但是由于缺少有关此简单问题的更新资料,因此使它比原本应做的事情繁琐得多:

config / routes.rb

 get 'filter_units_by_organization' => 'projects#filter_units_by_organization'

controllers / projects_controller.rb

def filter_units_by_organization  @filtered_units = Unit.where(organization_id: params[:selected_organization])end

视图/项目/filter_units_by_organization.js.erb

$('select#project_unit_id').html('<%= j options_from_collection_for_select(@filtered_units, :id, :name) %>');

资产/javascripts/application.js

$(function() {    $("select#project_organization_id").on("change", function() {        $.ajax({ url:  "/filter_units_by_organization", type: "GET", data: { selected_organization: $("select#project_organization_id").val() }        });    });});

views / projects / _form.html.erb

<div >    <%= f.label :name %><br>    <%= f.text_field :name %>  </div>  <div >    <%= f.label :description %><br>    <%= f.text_area :description %>  </div>  <div >    <%= f.label :organization_id %><br>    <%= f.collection_select :organization_id, Organization.all, :id, :name, { prompt: 'Please select' } %>  </div>  <div >    <%= f.label :unit_id %><br>    <%= f.collection_select :unit_id, Unit.all.where(organization_id: :organization_id), :id, :name %>  </div>  <div >    <%= f.submit %>  </div>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/485266.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号