TL获得更多的数据; DRSelectize.js在“onItemAdd”回调
使其更清晰,我希望有机会在onItemAdd
函数内选择JSON对象的所有数据。现在我只能通过配置变量访问_id
和name
。
好吧,所以我有一个工作Selectize.js函数从我的服务器抓取JSON对象并创建选择选项。
我想知道的是,我可以从“onItemSelect”回调中的现有JSON对象获得更多数据吗?
我可以直接得到的唯一数据是value
作为在配置,在这种情况下是“_id”和我假设是形成在配置在labelField
,在这种情况下是name
形式$item
指定JSON数据。
如何获得比选定项目更多的数据?您在呈现对象中看到我使用变量item.sku
,如何在“onItemAdd”回调中访问sku
变量?
数据形成的服务器是一个JSON阵列:
[
{ _id: 'abcd1234', name: 'Sample', sku: '00123' },
{ _id: 'efgh5678', name: 'Sample2', sku: '00124' }
]
我的功能
// setup select box to add new products to list
$('#buyingGroupAddProducts').selectize({
valueField: '_id',
labelField: 'name',
searchField: 'name',
options: [],
create: false,
closeAfterSelect: true,
render: {
option: function(item, escape) {
return '<div>'+ escape(item.sku) + ': ' + escape(item.name) + '</div>';
}
},
load: function(query, callback) {
if (!query.length) return callback();
$.ajax({
url: '/buying/products-search',
type: 'GET',
dataType: 'json',
data: {
q: query
},
error: function() {
callback();
},
success: function(res) {
callback(res);
}
});
},
onItemAdd: function(value, $item) {
// DO the thing
console.log($item);
}
});
SelectizeJS网站:http://selectize.github.io/selectize.js/
你有没有这样做?我也在寻找答案。 – neobie
@neobie我做过了,但没有选择Selectize。我不记得我使用过这个项目,我从头开始构建自己的插件,另一个我使用http://www.runningcoder.org/jquerytypeahead/ – Nicekiwi