您好我从我的Ajax调用中获取了一个JSON编码数组(“html”),我希望在selectize中添加值和文本(我正在使用标记)。 我怎么能这样做?
HTML
<input type="text" value="test" class="demo-default selectized" id="input-tags" tabindex="-1" style="display: block;">
JQUERY
try {
data = $.parseJSON(html);
var obj = jQuery.parseJSON(html);
outcome = (obj.outcome);
$('#input-tags').selectize({
delimiter: ',',
persist: false,
maxItems: 1,
create: function (input) {
return {
value: input,
text: input
}
}
});
}
答案 0 :(得分:12)
您可以将数组映射到对象数组,如下所示:
data = $.parseJSON(html);
var items = data.map(function(x) { return { item: x }; });
然后使用"labelField" and "valueField"指定文本/值:
$('#input-tags').selectize({
delimiter: ',',
persist: false,
options: items,
labelField: "item",
valueField: "item"
});
答案 1 :(得分:2)
使用ES6,你可以减少你的oneliner
const items = data.map(item => ({item}));