typeahead + BloodHound建议引擎不显示来自Json和的结果。

问题描述 投票:0回答:1

所以,我在使用bloodhound建议引擎和typeahead的搜索条建议条,应该显示 "提供者名称"(这个信息是从一些文本输入中获取的),从 "提供者名称 "到 "提供者名称"。JSONPHP mongo服务器。最大的问题是,我认为它不喜欢我上传的json,因为我已经用其他的json试过了,例如这个 http:/revox.iojsoncountries-list.json。但我的却不行。这里的特殊性在于,当我在搜索栏中按下 "o "时,它会显示json文件本身(不是指它的信息,而是json文件本身),最后我只想让搜索栏显示 "providerName",其余的对这部分并不重要。

** 我使用的js脚本从php服务器调用JSON(国家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": "[email protected]", "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": "[email protected]", "3": "casaornage", "4": "9876546789" }, "5941458975938bea0a0042e7": { "_id": { "$id": "5941458975938bea0a0042e7" }, "providerName": "saquela", "providerPhone": "cagafe", "providerEmail": "jose", "providerContact": "fqf", "providerBank": "qsfqw" } }

jquery angularjs json typeahead bloodhound
1个回答
0
投票

考虑添加 display 像bellow这样的选项。并提供一个 name 是可选的。

$scope.providerData = {
    display: 'providersName',
    source: providers
}
© www.soinside.com 2019 - 2024. All rights reserved.