簡體   English   中英

selectize.js重新加載下拉列表

[英]selectize.js reload dropdown

我有一個帶有“selectCountry”的下拉列表,由ajax填充,並且在成功時我只是綁定了Selectize。

$('#selectCountry').selectize({
    create: true,
    sortField: 'text' 
});

當我通過ajax重新綁定我的原始下拉列表並嘗試重新加載/重新綁定或刷新舊的選擇性自動完成框時,舊列表上沒有任何更改。

有沒有辦法重新加載或刷新選擇下拉列表? 我曾嘗試過“clearOptions()”和“refreshOptions()”。

PS,我不想直接綁定ajax的選擇。

好的,現在我在jsfiddle上添加這個問題的工作示例

請幫幫我:(任何建議都對我很好。非常感謝

一些如何,我找到了答案,並在這里工作

只需添加這行代碼及其工作原理。

$('#select-tools').selectize()[0].selectize.destroy();

看起來你也在項目上打開了一個問題 ,這不是,恕我直言,很好地利用了項目的問題。

我在那里回答,我會在這里重復這個答案,以防它對其他人有用。

您不應該從原始標記中重新創建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'
        }]);
});

你也可以這樣做:

$('#whateverYouCalledIt').selectize()[0].selectize.clear();

只是清除已選擇的內容。 它不會清除您的選擇列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM