6

我有一个 razor-mvc 网络和一个表单上的几个选择。我将此选择与 jquery 中的 select2 插件绑定,如下所示:

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

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

你能帮我吗?

4

2 回答 2

2

使用ajaxcomplete

$( document ).ajaxComplete(function(){
  $(".select2").select2();
});
于 2014-09-22T07:29:20.970 回答
1

您正在执行 ajax 调用,因此请确保您在页面上的任何新选择框的任何其他选择上重新初始化选择。

所以你的ajax调用看起来像

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

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

于 2014-02-19T11:16:30.077 回答