jQuery .autocomplete() 在一个输入字段中包含邮政编码和城市名称

jQuery .autocomplete() with postal code and cityname in one input field

您好,我正在尝试为地理数据构建一个具有自动完成功能的字段 (geonames.org API)。

我想出了如何解决邮政编码输入和按城市名称搜索的问题。我想这样做,它可以包括两者。如果我用城市名称搜索,它还会显示最近城市的所有可能的邮政编码。

希望你能帮助我或给我提示。

我的代码是:

$(function () {
    function log(message) {
        $("#log").text(message);
        $("#log").scrollTop(0);
    }

    $("#city").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "http://api.geonames.org/postalCodeSearchJSON",
                dataType: "jsonp",
                data: {
                    postalcode_startsWith: request.term,
                    maxRows: 10,
                    country: "DE",
                    username: "username"
                },
                success: function (data) {
                    response($.map(data.postalCodes, function (item) {
                        return {
                            label: item.postalCode + "-" + item.placeName,
                            value: item.postalCode + "-" + item.placeName
                        }
                    }));
                }    
            });

        },
        minLength: 2,
        select: function (event, ui) {
            log(ui.item ?
              "Sie haben: " + ui.item.label + " ausgewählt ":
              "Nichts ausgewählt " + this.value);
        }
    });
});

更新:

像往常一样简单。不需要特殊代码,只需将数据:更改为以下

            data: {
                featureClass: "P",
                maxRows: 10,
                country: "DE",
                placename_startsWith: request.term,
                username: "yourusername"
            }