替换Mvc局部视图剂量后,select2 jquery工作了

sep*_*deh 2 ajax asp.net-mvc asp.net-mvc-partialview jquery-select2

我的代码放在这样的局部视图中:

@Html.DropDownListFor(model => model.UserProfileInstance.Employee_Id, new SelectList(Model.EmployeeList, "Id", "FullName"), new { id = "e1" })
<script>
  $(document).ready(function() {
        $("#e1").select2();
      }
</script>
Run Code Online (Sandbox Code Playgroud)

第一次它正常工作,但在Ajax的部分视图表单刷新后,它再次正确加载但无法搜索,输入框被禁用.我在多个select2中没有这个问题.

teo*_*kot 6

你需要重新附加你的插件.最简单的方法是将pluginf初始化代码放在$(document).ready()fucntion中,也放在.ajaxComplete().

$(document).ajaxComplete(function() {
  $("#e1").select2();
});
Run Code Online (Sandbox Code Playgroud)

这将在从ajax添加之后在DOM中新添加的元素上启动插件.但是如果你在View上有另一个ajax调用,请小心.在这种情况下,您应该将初始化代码放在success刷新部分视图调用的回调中.