我正在使用x-editable和select2。当我的页面更改动态数据时,我发现我必须销毁所有可编辑x的实例并重新初始化它们。除了我的1 select2字段外,它适用于其他所有内容。
以下是我如何初始化select2
$('#iname1').editable({
url: 'ajax/updateInsuranceProvider.php',
value: p.ikey1, //use 11 for testing
mode: 'inline',
params: {field: "ikey1"},
source: 'ajax/lookupProviders.php',
select2: {
width: '330px',
placeholder: 'Select Provider',
allowClear: false,
formatResult: function (provider) {
return provider.iname;
},
formatSelection: function (provider) {
return provider.iname;
},
initSelection: function (element, callback) {
return $.get('ajax/loadProvider.php', { provider: element.val() }, function (data) {
callback(data);
}, 'json'); //added dataType
}
}
});
当我调用$('#iname1')。editable(“destroy”)我得到
Cannot read property 'data' of undefined
以下是导致该错误的代码行:
destroy: function() {
if(this.$input.data('select2')) {
this.$input.select2('destroy');
}
}
显然没有设置$ input。这是在文件jquery-editable-poshytip.js
中