【问题标题】:Autocomplte search both name and code自动完成搜索名称和代码
【发布时间】:2018-04-18 09:26:35
【问题描述】:

places.json如下

[{"CC":"XNR","CN":"Aabenraa"},{"CC":"AAH","CN":"Aachen"},{"CC":"XOA","CN":"Aalbaek"},{"CC":"AAL","CN":"Aalborg"},{"CC":"QFA","CN":"Aalsmeer"}]

CN代表国家代码,CN代表国家名称

$(".typeahead").autocomplete({
    source: function (request, response) {
        var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
        $.ajax({
            url: "places.json",
            dataType: "json",
            success: function (data) {
                response($.map(data, function(v,i){
                    var text = v.CN;
                    if ( text && ( !request.term || matcher.test(text) ) ) {
                        return {
                                label: v.CN.concat(' (',v.CC,')'),
                                value: v.CC
                               };
                    }
                }));
            }
        });
    }
});

如何实现我的代码来搜索国家名称和国家代码

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-autocomplete


    【解决方案1】:

    您只检查matcher.test() 中的国家/地区名称。你也应该检查国家代码

    在if(条件)之后更新

    if ( text && ( !request.term || matcher.test(v.CN) || matcher.test(v.CC) ) ) {
    

    【讨论】:

    • 感谢您提供此代码 sn-p,它可能会提供一些有限的短期帮助。一个正确的解释would greatly improve 它的长期价值通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设。
    • @TobySpeight,感谢您提供的信息。我已经更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2014-01-05
    • 2019-09-08
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    相关资源
    最近更新 更多