2013-04-17 48 views
6

我有一個剃鬚刀mvc網站和幾個選擇的窗體上。我結合這個選擇與選擇2的jQuery插件是這樣的:如何將jquery select2綁定到新添加的選擇?

$('select.company_select, select.positions_select').select2(); 

我的形式是一個Ajax的形式(通過JavaScript的阿賈克斯,而不是Ajax.BeginForm)。 事情是,當我提交表單時,我添加了第一個表單的submited值的另一個表單,但是該新表單上的select不會應用select2插件。我知道這是正常的,因爲新項目,應該綁定.on()或.live(),但我不知道如何去做。

你能幫我嗎?

+3

不能使用代表團插件,你必須初始化Ajax回調函數 –

回答

0

你正在做的Ajax調用,以便確保您重新初始化選擇您在完整的頁面上的任何新的選擇框想要的任何其他選擇..

讓你的Ajax調用看起來像

$.ajax({ 
    url: '.../', 
    data..., 
    type..., 
    success: function(data) 
    { 
     $('#newFormAddedID select').select2(); 
    } 

應該做的伎倆.. 你也可以做到這一點完全:功能(...如果形式獲取不管羯羊Ajax調用成功與否添加

1

使用ajaxcomplete

$(document).ajaxComplete(function(){ 
    $(".select2").select2(); 
}); 
+1

很好的解決方案裏面你選擇2元,但只針對accessable selectboxes自帶通過Ajax請求。但不適用於在沒有Ajax的情況下動態創建的selectbox。 – algorhythm

相關問題