我正在使用 Bootstrap Typeahead 插件,如下所示:
$('#Organisation').typeahead({
source: function (query, process) {
return $.get(AppURL + 'Organisations/Manage/SearchByName/',
{
term: query
},
function (data) {
var results = [];
var fullResults = [];
$.each(data, function (index, item) {
results.push(item.label);
fullResults.push({
id: item.ID,
label: item.label
});
});
return process(results);
});
},
updater: function (selection) {
$('#OrganisationID').val(selection);
}
});
我有两个返回的数组,这是因为 Typeahead 只需要一个字符串列表而不是一个对象。第二个数组包含标签和 id。
一旦用户从列表中选择了一个项目,我需要从此选择中获取 ID,然后使用它插入隐藏字段。但是选择只是名称,因为 ID 不能通过 Typeahead 传递。
关于如何解决这个问题的任何想法?
两个返回数组的示例:
结果:["Organisation 1","Organisation 2"]
完整结果:[{"label":"Organisation 1","ID":2},{"label":"Organisation 2","ID":1}]