2

Javascript 创建资源后如何重置选择的插件字段?

我创建了一条狗,并且可以使用 Chosen 插件重置常规表单字段,但不能重置选择菜单:

狗/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 %>

再说一遍,如何在 Javascript 创建资源后重置选择的插件字段?

4

1 回答 1

2

尝试这个:

狗/create.js.erb

$('#dogs').prepend('<%= escape_javascript(render(@dog)) %>');
$('.add-dog-form > form')[0].reset();
$('.category-select').chosen().trigger("liszt:updated");

您基本上必须在 create.js.erb 中再次触发重置。

于 2012-07-30T03:20:15.557 回答