2012-08-04 3 views
1

나는 모양이 동일한 페이지에있는 DogCategory 모델을 가지고 있습니다. 나는 Chosen Plugin을 사용하고 있으며 범주를 추가 할 때 카테고리 양식을 업데이트하지 않습니다. 개 양식을 선택하십시오.선택한 플러그인이 업데이트되지 않는 이유는 무엇입니까?

애완 동물/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> 

다음 new.js.erb 및 create.js.erb은 기본적으로 동일하므로 둘 다 원격 형태이다과 같은 방식으로 만들어집니다 개/new.js.erb

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

개/create.js.erb

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

개/_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 %> 

이 플러그인

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

사람은 다른 일을 application.js 및/또는 선택 메뉴를 업데이트하는 방법을 알아?

답변

3

대신 application.js에서 :

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

사용 : 나는이 작업을 수행 할 경우

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

은'chosen' 플러그인은 트리거되지 않습니다. – LearningRoR

+0

예, 설명은 '동적으로 업데이트 중입니다.'라는 제목으로 문서 링크를 확인하십시오. –

+0

이상하게도'.chosen'을 실행하여 플러그인을 얻을 수는 있지만'.trigger'를 사용하면 일반 선택 메뉴로 돌아갑니다. 나는 다시 설치하고 파일을 벤더 폴더에서 자산으로 옮겼다. 아직도 운이없는. – LearningRoR

관련 문제