2013-05-30 22 views
0

所以我有一些基本上工作的代碼,當一個人選擇一個新電影列表追加到。使用觸發器多次運行具有不同ID的插件

$("#optionalSearchOptions ul").append("<li><div class='button' style='position:relative'><select id='"+ movie.id+"' class='populate select2' style='width:200px'><option></option></select></div></li>"); 

這工作得很好

,其中該名單追加,因爲需要一個選擇框轉換

這裏我還調用觸發器觸發

$(window).trigger('convertBoxes', [movie.id, movie.title]); 

,所以我在doc上準備這個

$(window).on('convertBoxes', function (event, param1, param2){ 

     var tmpName = "#" + param1 ; 
     console.log(param1, param2); 
     $(tmpName).select2({ 
      placeholder: param2 
     }); 
}); 

問題是這次運行選擇2第一次,但沒有任何時間後,因爲我猜的名稱設置 - 有沒有辦法繞過這個

回答

0

也許你可以destroy select2然後重新啓動它。

我在Select 2 docs中看到了破壞函數。用法是這樣的我猜:

//place this before u initialize select 2 
$(tmpName).select2("destroy"); 
+0

$(窗口)。在( 'convertBoxes',函數(事件,參數1,參數2){$ (tmpName).select2( 「消滅」); VAR console.log(param1,param2); $(tmpName).select2({\t placeholder:param2 });}); 不工作:( – Dan

+0

你得到什麼錯誤? – krishgopinath

+0

沒有錯誤只是不應用選擇2影響到第二個盒子只是顯示一個正常的選擇框 – Dan

相關問題