【发布时间】:2016-04-13 11:27:36
【问题描述】:
我正在使用 typeahead/bloodhound 来获取来自 ajax 源的建议:
var protags = new Bloodhound({
datumTokenizer: function(protags) {
return Bloodhound.tokenizers.whitespace(protags.value);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/ajax/getinfo.php?q=%QUERY',
wildcard: '%QUERY',
filter: function(response) {
return response.protags;
}
}
});
getinfo.php 的 JSON 结果如下所示:
{
"protags": [
{"tag": {
"tagid": "1",
"tagtitle": "titleone"}
},
{"tag": {
"tagid": "2",
"tagtitle": "titletwo"}
},
{"tag": {
"tagid": "3",
"tagtitle": "titlethree"}
}]}
我能够检索我想要的所有信息(tagtitle 和 tagid)并使用以下方式显示它:
$('.typeahead').typeahead(
{ hint: true,
highlight: true,
minLength: 1
},
{
name: 'protags',
displayKey: function(protags) {
return protags.tag.tagtitle+'-'+protags.tag.tagid;
},
source: protags.ttAdapter()
});
但我对此感到困惑:我如何才能在建议字段中仅显示标签标题,但同时获取 protags.tag.tagid 以进行更多服务器端操作?
【问题讨论】:
-
用户选择后是否要使用数据?
-
yeezzz:是的,这正是我想要的
-
试试我的答案...我忘记了建议字段,所以我会在一分钟内编辑
-
对不起,但我不能让它在我的预输入块中工作:-(
-
好吧,也许你可以发一个小提琴?
标签: javascript typeahead.js typeahead bloodhound