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

时间:2016-02-23 11:16:17

标签: jquery autocomplete geonames

您好我正在尝试为Geo-Data(geonames.org API)构建一个具有自动填充功能的字段。

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

我希望你能帮助我或给我一个暗示。

我的代码是:

$(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);
        }
    });
});

1 个答案:

答案 0 :(得分:0)

更新:

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

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