在动态元素打开错误中选择2

时间:2014-01-13 13:13:09

标签: jquery jquery-select2

我正在使用select2并将ajax数据加载到其中。

select2元素位于动态加载的html(jQuery ui标签中的动态标签)中。

有一种情况我通过为容器div调用jQuery remove删除动态html(删除选项卡),并可能稍后再次加载它。

第一次一切都很完美。从第二次开始,当我打开select2元素时,我从select2 js中得到一个错误。

我怀疑select2可能会在这个html边界之外添加一些元素,这些元素稍后会导致一些错误,但这只是猜测。

当我想破坏select2控件时,我是否需要做一些特别的事情(那将完全清除它,因为它从未创建过)?

1 个答案:

答案 0 :(得分:0)

由select2作者提供的淘汰赛自定义绑定,Ivan在元素dispose上调用destroy,以便正确清理控件。
虽然当我尝试打开select2控件时出现错误,但实际问题是jQuery UI对话框的其他自定义绑定
它在绑定和对话创建之间创建了一场竞赛 最后,我将对话框id传递给视图模型,并通过直接jQuery调用从视图模型中打开它 这不是最美丽的解决方案,但它没有任何麻烦 我真的希望它可以节省一些人花在调查它上面的时间。