选择不会导致内部下拉

时间:2015-01-20 20:20:20

标签: javascript jquery selectize.js

我尝试使用selectize.js根据用户输入从数据库填充文本框,但它没有在下拉列表中呈现。我从数据库中获取了正确的数据,但不知道如何让它呈现。也许JSON没有正确形成?

这是JS:

var $select = $('#tags').selectize({
        delimiter: ',',
        persist: false,
        valueField: 'PKID',
        labelField: 'TAG',
        searchField: ['TAG'],
        maxOptions: 10,
        create: true,
        render: {
            option: function (item, escape) {
                return '<div>' + escape(item.TAG) + '</div>';
            }
        },
        load: function (query, callback) {
            if (!query.length) return callback();
            $.ajax({
                url: '/components/nl',
                type: 'POST',
                dataType: 'json',
                data: {
                    method: 'getTags',
                    tag: query,
                    maxresults: 10
                },
                error: function () {
                    callback();
                },
                success: function (res) {
                    callback(res);
                }
            });
        }
    });

这是输入框:

<input id="tags" class="selectize" type="text" name="tags" value="" placeholder="Tags separated by commas (optional)">

如果此人开始输入&#34; straw&#34;那么这里会有什么回复。

{"COLUMNS":["PKID","TAG"],"DATA":[[1475,"strawberries"]]}

这正是它应该归还的东西,但不确定为什么我不会看到&#34;草莓&#34;作为下拉菜单中的一个选择。我只看到&#34;稻草&#34;这就是我输入的内容。

1 个答案:

答案 0 :(得分:0)

问题是代码期待:

[{"PKID":1475,"TAG":"strawberries"}]

但我正在给它:

{"COLUMNS":["PKID","TAG"],"DATA":[[1475,"strawberries"]]}