2013-04-17 26 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

相关问题