2012-07-30 19 views
2

在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資源之後?

回答

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復位。

+0

謝謝,非常簡單的解決方案! – LearningRoR 2012-07-30 03:52:17

+0

很高興幫助:) – ddb 2012-07-30 04:06:04

相關問題