如何将jquery select2绑定到新添加的选择?

时间:2013-04-17 17:40:01

标签: jquery jquery-select2

我有一个razor-mvc网站和表格上的几个选择。我使用jquery中的select2插件绑定此选项,如下所示:

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

我的表单是一个ajax表单(javascript是ajax,而不是Ajax.BeginForm)。 问题是,当我提交表单时,我添加另一个表单与第一个表单的提交值,但新表单上的选择不会应用select2插件。我知道这是正常的,因为新项目应该与.on()或.live()绑定,但我不知道该怎么做。

你能帮帮我吗?

2 个答案:

答案 0 :(得分:2)

使用ajaxcomplete

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

答案 1 :(得分:1)

您正在进行ajax调用,因此请确保在页面上的任何新选择框中重新启动所需的任何其他选择。

所以你的ajax调用看起来像

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

应该做的伎俩.. 你也可以完成它:function(...如果表单被添加,无论ajax调用是否成功。