1

私はモデルを持ってDogおりCategory、それらのフォームは同じページにあります。選択したプラグインを使用していますが、カテゴリを追加しても、犬のフォームのカテゴリ選択は更新されません。どちらもリモートフォームであり、同じ方法で作成されるため、new.js.erbとcreate.js.erbは基本的に同じです。

pets / index.html.erb

<div class="tabbable">
   <ul class="nav nav-tabs">
      <li class="active">
         <a href="#tab1" data-toggle="tab">Dog</a>
      </li>
   </ul>
   <ul class="nav nav-tabs">
      <li class="active">
         <a href="#tab2" data-toggle="tab">Category</a>
      </li>
   </ul>
   <div class="tab-content">
      <div class="tab-pane active add-dog-form" id="tab1">
         <%= render "dogs/form" %>
      </div>
   </div>
   <div class="tab-content">
      <div class="tab-pane active add-category-form" id="tab2">
         <%= render "categories/form" %>
      </div>
   </div>
</div>

dogs / new.js.erb

$('.add-dog-form').html('<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>');

dogs / create.js.erb

$('.add-dog-form').html('<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>');

dogs / _form.html.erb

<%= form_for(@dog, :remote => true) do |f| %>
   <%= f.text_field :name %>
   <%= f.select :category_ids, Category.all.collect {|c| [c.name, c.id]}, {},
        { :multiple => true, :class => "category-select" } %>
   <%= f.submit %>
<% end %>

application.js

jQuery( function($) {
    // Chosen Select Menu
    $('.category-select').chosen().trigger("liszt:updated");
});

他の誰かがこのプラグインを使用している、および/または選択メニューを更新する方法を知っていますか?

4

1 に答える 1

3

application.js 代わりに:

$('.category-select').chosen().trigger("liszt:updated");

使用する:

$('.category-select').trigger("liszt:updated");
于 2012-08-04T14:05:27.593 に答える