【发布时间】:2015-05-30 20:13:13
【问题描述】:
我有一个collection_select 供客户使用,可以选择使用模式添加新客户。我希望 select2 collection_select 使用新客户端进行更新并将值设置为新添加的客户端。
在父表单中,我有:
<%= f.collection_select :client_id, @clients, :id, :name, { label: 'Client', prompt: true, autofocus: true, required_flag: true }, { class: 'form-control js-example-basic-single', autofocus: true } %>
<div class='form-group'>
<%= link_to 'Add a New Client', '#new_client_modal', 'data-toggle' => 'modal' %>
</div>
在我的客户端控制器中:
@clients = Client.where(account_id: current_account.id)
format.html { redirect_to client_url(@client) }
format.js { render action: 'show', status: :created, location: @client }
在 show.js.erb 我有:
$('#new_client_modal').modal_success();
$(".js-example-basic-single").val("<%=j @client.id.to_s %>").trigger("change");
<% flash.each do |type, message| %>
$('#flash_messages').html("<%=j render 'layouts/error' %>")
<% end %>
想法是关闭添加客户端模式,然后使用新的 @clients `选项更新 select2 集合选择。希望是用@clients更新集合选择并将值设置为@client。
请注意,我使用的是 select2 4.0 版。
【问题讨论】:
标签: javascript jquery ruby-on-rails jquery-select2