我的代码放在这样的部分视图中:
@Html.DropDownListFor(model => model.UserProfileInstance.Employee_Id, new SelectList(Model.EmployeeList, "Id", "FullName"), new { id = "e1" })
<script>
$(document).ready(function() {
$("#e1").select2();
}
</script>
第一次它正常工作,但是在Ajax的部分视图表单刷新之后,它再次正确加载但是无法搜索,输入框被禁用。 我在多个select2中没有这个问题。
答案 0 :(得分:6)
您需要重新附加插件。最简单的方法是将插件初始化代码不仅放在$(document).ready()
函数中,还放在.ajaxComplete()
上。
$(document).ajaxComplete(function() {
$("#e1").select2();
});
这将在从ajax添加之后在DOM中新添加的元素上启动插件。
但是如果你的View上有另一个ajax调用,请小心。在这种情况下,您应该将初始化代码放在刷新部分视图调用的success
回调中。