首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在typehead上获取id和名称

在typehead上获取id和名称
EN

Stack Overflow用户
提问于 2019-05-16 09:11:18
回答 2查看 59关注 0票数 0

我可以返回姓名和id,但我只能打印姓名。

我已经尝试过update和sfterslected

目前,我有这段代码,运行良好,但我只是得到了名字!

代码语言:javascript
复制
 $('input.typeahead').typeahead({
    source:  function (query, process) {
    return $.ajax({
    url: "search/autocomplete",
    type: "GET",
    data: "query=" + query,
    success: function(data) {

      var data = $.merge( $.merge( [], data['2'] ), data['1'] );
      return process(data); 
    }
    });

   }         
 });

预期的结果是获得给定的名称和id ( id应该打印在其他div中,例如#mydiv

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2019-05-16 19:07:48

答案就是添加afterSelect

代码语言:javascript
复制
  $('input.typeahead').typeahead({
   source:  function (query, process) {
     return $.ajax({
     url: "search/autocomplete",
     type: "GET",
     data: "query=" + query,
     success: function(data) {

    var data = $.merge( $.merge( [], data['2'] ), data['1'] );

    return process(data); 

         // this returns an array checked with console
  }

});

},
 afterSelect: function(data){
    console.log(data.id);
}
 });
票数 0
EN

Stack Overflow用户

发布于 2019-07-05 21:10:00

你可以用猎犬为typehead做一个指令。

代码语言:javascript
复制
app.directive('typeheadDirective', function() {
    return {
        restrict: 'A',
        scope: {
            themes: '=',
            output: '=',
        },
        link: function(scope, element, attrs) {
            var themes = new Bloodhound({
                datumTokenizer: Bloodhound.tokenizers.obj.whitespace('theme_name'),
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                local: scope.themes,
            })
            element.typeahead(null, {
                name: 'themes',
                displayKey: function(item) {
                    return item.theme_name
                },
                source: themes.ttAdapter()
            })
            element.bind('typeahead:select', function(ev, theme) {
                scope.output = {
                    'id': theme.id,
                    /*'theme_id': theme.id,*/
                    'theme_name': theme.theme_name
                }
                // element.value = ''
                scope.$apply();
            })
        }
    };
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56159502

复制
相关文章

相似问题

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