selectctize не отображается внутри выпадающего
Я пытаюсь использовать 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)">
Вот что возвращается, если человек начинает печатать "соломинка".
{"COLUMNS":["PKID","TAG"],"DATA":[[1475,"strawberries"]]}
Это именно то, что он должен вернуть, но не уверен, почему я не вижу "клубнику" в качестве выбора в раскрывающемся списке. Я вижу только "солому", которую я набрал.
1 ответ
Решение
Проблема заключалась в том, что код ожидал:
[{"PKID":1475,"TAG":"strawberries"}]
Но я давал это:
{"COLUMNS":["PKID","TAG"],"DATA":[[1475,"strawberries"]]}