首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Ajax的Twitter /Bloodhound建议--来源:如何管理多个值?

来自Ajax的Twitter /Bloodhound建议--来源:如何管理多个值?
EN

Stack Overflow用户
提问于 2016-04-13 11:27:36
回答 1查看 772关注 0票数 0

我从ajax源代码中提取建议时,使用了Type预报/猎犬:

代码语言:javascript
复制
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结果如下所示:

代码语言:javascript
复制
{
"protags": [
{"tag": {
"tagid": "1",
"tagtitle": "titleone"}
},
{"tag": {
"tagid": "2",
"tagtitle": "titletwo"}
},
{"tag": {
"tagid": "3",
"tagtitle": "titlethree"}
}]}

我能够检索所需的所有信息(tagtitle和tagid),并使用以下方法显示:

代码语言:javascript
复制
$('.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来执行更多的服务器端操作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-13 12:28:09

使用:select事件(v0.11.x)或:selected (v.0.10.x)。阅读猎犬/打字机文档,因为它们在0.10.x和0.11.x之间做了很多更改

我使用的是0.10.5,在我的例子中,如下所示:

编辑:看看你的json,我不知道什么数据进入模板和:选择的函数。您可能需要使用data.protags.tag等

代码语言:javascript
复制
$(selector).typeahead(
    // options, key, source etc

    templates: {
        suggestion: function (data) {
            return '<div class="tt-name">' + data.tag.tagtitle + '</div>';
        }
    }
    // end of options
)
.on('typeahead:selected',
    function(event, data) {
    // you should be able to get your data here, if I'm correct like so:
    console.log(data.tag.tagid);
   }
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36596951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档