Я пытаюсь использовать selectize.js для заполнения текстового поля из базы данных на основе пользовательского ввода, но это не рендеринг внутри выпадающего списка. Я получаю правильные данные из базы данных, но не знаю, как это сделать. Может быть, JSON сформирован неправильно?selectize не отображает внутри dropdown
Вот 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"]]}
Это именно то, что он должен вернуться, но не знаю, почему я не вижу «клубника», как выбор в раскрывающемся списке. Я вижу только «соломинку», которую я набрал.
этот код в файле ColdFusion или '##' опечатка? В 'render' будет' item.TAG'? Не соответствует чему-либо в ваших возвращенных данных. Являются ли ошибки в консоли? – charlietfl
## был холодным, но я избавился от него в вопросе, чтобы он никого не смутил. Ошибок не возникает. item.TAG предполагается значение «клубника». – user1431633
'DATA' - массив массивов, не имеет свойства' TAG', вместо этого попробуйте 'item [1]'. Признаюсь, я не знаю selectize.js, хотя – charlietfl