Javascript 使用Typeahead.js和JSON键值更新隐藏的输入字段
我在一个页面上有一个工作的typeahead元素,它从一个远程url获取数据,该url返回一个JSON字符串,比如Javascript 使用Typeahead.js和JSON键值更新隐藏的输入字段,javascript,jquery,json,typeahead.js,Javascript,Jquery,Json,Typeahead.js,我在一个页面上有一个工作的typeahead元素,它从一个远程url获取数据,该url返回一个JSON字符串,比如[{“id”:“1”,“name”:“Ben”},{“id”:“2”,“name”:“Josh”}] 我希望一个隐藏的字段被更新为相应的ID号。我当前的typeahead设置如下 $('.typeahead').typeahead({ name: 'typeahead', remote: { url: 'backend/clients.php?query=%QUERY', f
[{“id”:“1”,“name”:“Ben”},{“id”:“2”,“name”:“Josh”}]
我希望一个隐藏的字段被更新为相应的ID号。我当前的typeahead设置如下
$('.typeahead').typeahead({
name: 'typeahead',
remote: {
url: 'backend/clients.php?query=%QUERY',
filter: function(data) {
var resultList = data.map(function(item) {
return item.name;
});
return resultList;
}
}
});
您可以为选择建议时触发的自定义事件绑定处理程序。将使用两个参数调用事件处理程序:jQuery事件对象和所选的建议对象。根据选定的值更新隐藏字段
var resultList, d;
$('.typeahead').typeahead({
name: 'typeahead',
remote: {
url: 'backend/clients.php?query=%QUERY',
filter: function(data) {
d = data;
resultList = data.map(function(item) {
return item.name;
});
return resultList;
}
}
}).on('typeahead:select', function(ev, suggestion) {
$('#hidden-input').val(suggestion.id);
// $('#hidden-input').val(d[resultList.indexOf(suggestion)].id);
});
Ref:我认为:$('#隐藏输入').val(d[resultList.indexOf(suggestion)].id);可以更简单地替换为:$(“#隐藏输入”).val(suggestion.id);