使用JQuery Typeahead Plugin从本地JSON文件调用值

时间:2015-11-24 20:08:49

标签: javascript jquery json typeahead.js

我正在尝试使用JQuery Typeahead插件在本地JSON文件中调用嵌套值。

我有以下使用typeahead插件:

$('#country_v1-query').typeahead({
    order: "desc",
    emptyTemplate: 'No result for "{{query}}"',
    source: {
        data: {
            url: ["/json/test.json", "data.country"]
        },
    },
    callback: {
        onInit: function (node) {
            console.log('Typeahead Initiated on ' + node.selector);
        },
        onSearch: function (node, query) {
            //console.log(query);
        }
    }
});

JSON文件是:

{
        data: 
        {
            "country": 
            [
                "AfghanisTan",
                "Albania",
                "Algeria",
                "Andorra",
                "Angola",
                "Antigua and Barbuda",
                "Argentina",
                "Armenia",
                "Australia",
                "Austria",
                "Azerbaijan"
            ]
        }
}

我想从数组中检索'country'值。在Jquery中具有更好专业知识的人能否强调最佳方法?

此致 Ĵ

1 个答案:

答案 0 :(得分:0)

我拿了" url"参数超出数据:{}对象并删除了数据对象:

source: {
    url: ["/json/test.json", "data.country"]
},

此外,您必须在“数据”周围添加双引号。 json中的对象:

"data": { ... }

如果你还有问题,我会把它全部放在一起。

完整的jquery代码:

$('#country_v1-query').typeahead({
    order: "desc",
    emptyTemplate: 'No result for "{{query}}"',
    source: {
        url: ["/json/test.json", "data.country"]
    },
    callback: {
        onInit: function (node) {
            console.log('Typeahead Initiated on ' + node.selector);
        },
        onSearch: function (node, query) {
            //console.log(query);
        }
    }
});

完整的JSON代码:

{
    "data":
    {
        "country": 
        [
            "AfghanisTan",
            "Albania",
            "Algeria",
            "Andorra",
            "Angola",
            "Antigua and Barbuda",
            "Argentina",
            "Armenia",
            "Australia",
            "Austria",
            "Azerbaijan"
        ]
    }
}