在dropdownchecklist上调用'destroy'不能在jQuery 2.1.3中工作

时间:2015-03-12 09:14:55

标签: javascript jquery jquery-ui

$("#myDropdown").dropdownchecklist("destroy");
$("#myDropdown").dropdownchecklist({ icon: {}, emptyText: "Select GatePass Type", forceMultiple: false, closeRadioOnClick: true, maxDropHeight: 250, width: 200 });

我有上面的jquery代码,它可以解决jQuery 1.7.2中的错误,但在jQuery 2.1.3中抛出错误。

  

错误:无法在初始化之前调用dropdownchecklist上的方法;试图调用方法'destroy'

我已尝试过以下修改,基本上试图检查它是否已初始化(不确定这是否是正确的检查是否已初始化)但我仍然得到相同的错误!

if ($("#myDropdown").initialized) {
$("#myDropdown").dropdownchecklist("destroy");
}

1 个答案:

答案 0 :(得分:4)

jQueryUI小部件(以及使用小部件工厂的插件)通常具有.data属性,可用于检测小部件是否已初始化:

if ($("#myDropdown").data("ui-dropdownchecklist")) {
    $("#myDropdown").dropdownchecklist("destroy");
}

这是一个小例子:http://jsfiddle.net/unhz22wy/

另外,请记住,the plugin's page表示它应该与jQuery 1.11一起使用,所以如果您遇到兼容性问题,就不要太惊讶