0
我想使用selectize.js從基於用戶輸入的數據庫填充文本框,但它不是在下拉內呈現。我從數據庫中獲取正確的數據,但不知道如何讓它呈現。也許JSON形式不正確?selectize不會渲染內部下拉
這裏的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 2015-01-20 20:27:22
##是coldfusion,但我在這個問題中擺脫它,所以它不會混淆某人。沒有錯誤被拋出。 item.TAG應該是「草莓」的價值。 – user1431633 2015-01-20 20:39:20
'DATA'是一個數組數組,沒有屬性'TAG',而是嘗試'item [1]'。承認我不知道selectize.js – charlietfl 2015-01-20 20:40:53