Oba*_*med 10 javascript jquery json autocomplete selectize.js
我有一个带有"selectCountry"的下拉列表,由ajax填充,并且在成功时我只是绑定了Selectize.
$('#selectCountry').selectize({
create: true,
sortField: 'text'
});
Run Code Online (Sandbox Code Playgroud)
当我通过ajax重新绑定我的原始下拉列表并尝试重新加载/重新绑定或刷新旧的选择性自动完成框时,旧列表上没有任何更改.
有没有办法重新加载或刷新选择下拉列表?我曾尝试过"clearOptions()"和"refreshOptions()".
PS,我不想直接绑定ajax的选择.
好的,现在我在jsfiddle上添加这个问题的工作示例
请帮助我:(任何建议都对我很好.非常感谢
Oba*_*med 15
一些如何,我找到了答案,并在这里工作
只需添加这行代码及其工作原理.
$('#select-tools').selectize()[0].selectize.destroy();
Run Code Online (Sandbox Code Playgroud)
看起来你也在项目上打开了一个问题,这不是,恕我直言,很好地利用了项目的问题.
我在那里回答,我会在这里重复这个答案,以防它对其他人有用.
您不应该从原始标记中重新创建Selectize组件.你应该使用它来更新它的选项,使用你猜到的clearOptions(),然后addOption()(尽管它是单数,它接受一个数组).我更新了您的小提琴(制作一个+1)以显示:https://jsfiddle.net/m06c56y0/20/
相关部分是:
var selector;
$('#button-1').on('click', function () {
selector = $('#select-tools').selectize({
maxItems: null,
valueField: 'id',
labelField: 'title',
searchField: 'title',
options: [{
id: 1,
title: 'Spectrometer',
url: 'http://en.wikipedia.org/wiki/Spectrometers'
}, {
id: 2,
title: 'Star Chart',
url: 'http://en.wikipedia.org/wiki/Star_chart'
}],
create: false
}).data('selectize');
});
$('#button-2').on('click', function () {
console.log(selector);
selector.clearOptions();
selector.addOption([{
id: 1,
title: 'Spectrometer',
url: 'http://en.wikipedia.org/wiki/Spectrometers'
}, {
id: 3,
title: 'Electrical Tape',
url: 'http://en.wikipedia.org/wiki/Electrical_tape'
}]);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18738 次 |
| 最近记录: |