如何在创建资源后重置我选择的选择菜单?
问题描述:
在Javascript创建资源之后,如何重置Chosen plugin字段?如何在创建资源后重置我选择的选择菜单?
我创建了一个狗,可以使用所选插件不是选择菜单拿到常规表单字段复位,而是:
狗/ create.js.erb
$('#dogs').prepend('<%= escape_javascript(render(@dog)) %>');
$('.add-dog-form > form')[0].reset();
这是成功的复位,只是不能与它从我的application.js称为选择菜单:
jQuery(function($) {
// Chosen Select Menu
$('.category-select').chosen().trigger("liszt:updated");
});
比我的形式:
<%= form_for(@dog, :remote => true) do |f| %>
<%= f.label :name, "Name" %>
<%= f.text_field :name %>
<%= f.label :category, "Categories" %>
<%= f.select :category_ids, Category.all.collect {|c| [c.name, c.id]}, {}, { :multiple => true, :class => "category-select" } %>
<% end %>
所以,再一次,一个人如何重置Chosen plugin场是由创建的Javascript资源之后?
答
试试这个:
狗/ create.js.erb
$('#dogs').prepend('<%= escape_javascript(render(@dog)) %>');
$('.add-dog-form > form')[0].reset();
$('.category-select').chosen().trigger("liszt:updated");
基本上,你必须再次触发内部create.js.erb复位。
谢谢,非常简单的解决方案! – LearningRoR 2012-07-30 03:52:17
很高兴帮助:) – ddb 2012-07-30 04:06:04