javascript - bootstrap Tags-input[JS] - 无法在数据集中的建议列表中设置(或显示)多个数据

标签 javascript jquery bootstrap-tags-input typehead

我使用 typehead.js 创建引导标签输入,但无法在下拉列表中显示超过 1 个结果(建议)。这是我要处理的代码:

JS:

var tag = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {
        url: 'http://blog.dev/admin/manager/911/fetch-tags'
    }
});
tag.initialize();

var elt = $("#tags");
elt.tagsinput({
    typeaheadjs: {
        name: 'tag_name',
        displayKey: 'tag_name',
        valueKey: 'tag_name',
        source: tag.ttAdapter(),
        templates: {
            empty: [
                '<div class="list-group search-results-dropdown"><div class="list-group-item">Nothing found.</div></div>'
            ],
            header: [
                '<div class="list-group search-results-dropdown"></div>'
            ],
            suggestion: function (data) {
                console.log(data);
                    return '<a href="javascrtipt:void(0)" class="list-group-item">' + data[1].tag_name  + '</a>';
            }
        }
    }
});
<div class="example example_typeahead">
      <input type="text" id="tags" value="Amsterdam,Washington" data-role="tagsinput">
      </div>

远程 url 结果返回此 json 格式:

{
    "name":
    [{"id": 1, "tag_name": "cat"},
    {"id": 2, "tag_name": "dog"},
    {"id": 3, "tag_name": "cow"}]
}

这个对象通过console.log(data)返回

[Object, Object, Object, Object, Object]
0:Object
id:1
tag_name:"cat"
__proto__:Object 
1:Object
id:2
tag_name:"dog"
__proto__:Object
.......

并且它只显示建议列表中的第一个结果。我想要它 显示所有结果,但我不能。

最佳答案

我认为您只返回了一个建议。应该是这样的 -

            suggestion: function (data) {
            console.log(data);
            var suggestList = "";
            for (var i = 0; i < data.length; i++) {
                suggestList += '<a href="javascrtipt:void(0)" class="list-group-item">' + data[i].tag_name  + '</a> <br/> \n' ;
            }
                return  suggestList;
        }

关于javascript - bootstrap Tags-input[JS] - 无法在数据集中的建议列表中设置(或显示)多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43623602/

相关文章:

javascript - 表单值未传入 angularjs

javascript - 我怎样才能删除我的幻灯片宽度?以及如何在我的幻灯片中添加更多图片

javascript - 从 HTML 元素中删除值后保留变量值

jquery - bootstrap-tags-input 将类添加到生成的输入

javascript - 无法将数据从 React Native 发送到 Flask

javascript - Ckeditor5 - "widget toolbar no items"{toolbarId : 'mediaEmbed' }

javascript - 使用 jquery val 更新 $scope

javascript - Chrome 扩展使用 jQuery 获取本地 json

javascript - 遇到多个 Jquery 库的问题

javascript - $(...).tagsinput 不是函数