2

Javascriptによってリソースが作成された後、選択されたプラグインフィールドをリセットするにはどうすればよいですか?

犬を作成し、通常のフォームフィールドをリセットすることはできますが、Chosenプラグインを使用してメニューを選択することはできません。

dogs / 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

これを試して:

dogs / 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 に答える