使用selectize js输入设置类型/自动完成下拉列表的值

时间:2019-02-14 19:16:20

标签: javascript jquery selectize.js

我正在使用selectize js来填充国家/地区数据(来自数据库)作为下拉列表。此下拉列表在onChangeonload上正常工作。

我正在尝试在以下情况下添加一个下拉选项:用户查询“我们”,“美国”或“美国”。在这种情况下,它应该从数据库返回“美国”作为国家。

当用户键入“ us”或“ usa”,“ united”但未自动填充时,我将返回一个带有“ united States”的json对象:

country_selector = $('#data_country').selectize({
    valueField: 'id',
    labelField: 'name',
    searchField: ['name'],
    options: [],
    create: false,
    maxItems: 1,
    openOnFocus: true,
    closeAfterSelect: false,
    preload: true,
    highlight: false,
    render: {
        option: function (item, escape) {
            return '<div class="game-section--country-list--selected-country" data-country = "' + item.id + '" id = "game-selected-country"><span class = "game-section--country-list--name" > ' + item.name + '</span>' + '</div>';
        },
        item: function (item, escape) {
            return '<div class="game-section--country-list--selected-country" data-country = "' + item.id + '" id = "game-selected-country"><span class = "game-section--country-list--name" > ' + item.name + '</span>' + '</div>';
        }
    },
    load: function (query, callback) {

        var selectize = this;
        var form_data = {
            'q': query,
            'action': 'countries'
        };

        $.ajax({
            url: game_section_ajax_object.ajaxurl, // AJAX handler,
            type: 'POST',
            dataType: 'json',
            data: form_data,
            error: function () {
                callback();
            },
            success: function (res) {

                /*here i m adding new element to json on condtion when q = 'us or usa or united*/
                res.countries.push(
                    { id: "US", name: "United States" }
                );
                callback(res.countries);


                /*but it doesnt append united states in dropdown on autocompelte*/


            }
        }
            });

        },

)}

我希望当用户键入以下关键字“我们”,“美国”,“美国”中的任何一个时,下拉选项将显示“美国”。

0 个答案:

没有答案