【问题标题】:typeahead + BloodHound suggestion engine not displaying results from Json andtypeahead + BloodHound 建议引擎不显示来自 Json 的结果和
【发布时间】:2017-11-16 20:10:23
【问题描述】:

所以,我正在使用 Bloodhound 建议引擎并预先输入一个 searchBar/suggestionBar,它应该显示来自 JSON 中的“providerName”(此信息来自一些文本输入) strong>PHP mongo 服务器。 这里最大的问题是我认为它不喜欢我上传的 json,因为我已经尝试过使用其他 json,例如 http://revox.io/json/countries-list.json 它工作正常。但我的却没有。 这里的特殊之处在于,当我在搜索栏中按“o”时,它会显示 json 文件本身(不是在谈论它的信息,而是在谈论 JSON FILE 本身)。 最后,我只希望搜索栏显示“providerName”,其余的对于这部分并不重要

** 我用来从 php 服务器调用 JSON 的 js 脚本(它有效 国家/地区 JSON)**

var providers = new Bloodhound({
        datumTokenizer: Bloodhound.tokenizers.obj.whitespace('providerName'),
        queryTokenizer: Bloodhound.tokenizers.whitespace,
        prefetch: 'http://localhost:63342/insurancev2/api/apps/inventory/requestProviders.php'
    });
    // initialize the bloodhound suggestion engine
    $scope.countriesOptions = {
        highlight: true
    };
    $scope.providerData = {
        name: 'providersName',
        source: providers
    }
    $scope.provider = null;




}])

我正在上传的 JSON

{ "593f280575938b4e020041ff": { "_id": { "$id": "593f280575938b4e020041ff" }, "providerName": "jose", "providerPhone": "898799", "providerEmail": "ajfjafjj", "providerContact": "enriquie", "providerBank": "980988098" }, "59400bfe75938b4a0200420e": { "_id": { "$id": "59400bfe75938b4a0200420e" }, "providerName": "Cafe Duran", "providerPhone": "888-908", "providerEmail": "durancafe@outlook.com", "providerContact": "KC", "providerBank": "89876798" }, "59413d7c75938bea0a00428e": { "_id": { "$id": "59413d7c75938bea0a00428e" }, "providerName": "cafecito", "providerPhone": "1-581-88", "providerEmail": "jppiipi", "providerContact": "jose", "providerBank": "78909876" }, "59413fff75938bea0a0042a1": { "_id": { "$id": "59413fff75938bea0a0042a1" }, "providerName": "josesillo", "providerPhone": "41515", "providerEmail": "josesgf", "providerContact": "999899", "providerBank": "-98888" }, "594140bf75938bea0a0042a8": { "_id": { "$id": "594140bf75938bea0a0042a8" }, "providerName": "114", "providerPhone": "44141", "providerEmail": "41414", "providerContact": "11414", "providerBank": "1414" }, "594140f575938bea0a0042af": { "_id": { "$id": "594140f575938bea0a0042af" }, "providerName": "a13r41", "providerPhone": "1414", "providerEmail": "1414", "providerContact": "1414", "providerBank": "4141" }, "5941444175938bea0a0042c8": { "_id": { "$id": "5941444175938bea0a0042c8" }, "0": "calcuta", "1": "8987899", "2": "calcuta@outlook.cokj", "3": "casaornage", "4": "9876546789" }, "5941458975938bea0a0042e7": { "_id": { "$id": "5941458975938bea0a0042e7" }, "providerName": "saquela", "providerPhone": "cagafe", "providerEmail": "jose", "providerContact": "fqf", "providerBank": "qsfqw" } }

【问题讨论】:

  • 如果您可以将代码归结为包含所需的一切重现问题,那就太好了,不更多。 span>
  • 哦,好吧,让我编辑帖子

标签: jquery angularjs json typeahead bloodhound


【解决方案1】:

考虑添加display 选项,如下所示。并且提供name 是可选的。

$scope.providerData = {
    display: 'providersName',
    source: providers
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多