1

我希望“城市”和“州”根据用户在文本框中输入的“邮政编码”出现在屏幕上。我有一个 zip、城市和州的 3 列文本文件。构造 javascript 函数以执行此操作的最有效方法是什么?

4

2 回答 2

0

1) You need to define a server function that will return the city and state in JSON based on a zip code. 2) Subscribe to change, keyup and input events on an input field. 3) Define a JavaScript function that will call the server function using AJAX. On the success function, you set the fields using the response.

I'm pasting the client-side code below:

$("#txtZipCode").bind("change keyup input", function (e) {
        var field = $(this);
        if (field.val().length === 5) {
            showLocation(field.val());
        }
        else
            showLocation("");
    });

function showLocation(zipCodeValue) {
    var txtCity = $("#city");
    var txtState = $("#state");
    if (zipCodeValue.toString().length != 5) {
        txtCity.val("");
        txtState.val("");
    }
    else {
        $.ajax({
            dataType: "json",
            url: "Location/GetZipCode",
            data:
                {
                    zipCodeNumber: zipCodeValue
                },
            success: function (data) {
                    txtCity.val(data.City);
                    txtState.val(data.State);
            }
        });
    }
}
于 2014-06-10T18:49:05.243 回答
0

将您的文本文件预处理为表单的 JSON 对象

{
    "10461": { City: "Bronx", State: "NY" }
    ... 
}

如果你真的很懒,你可以使用d3.nest直接从文本文件中执行此操作。但是,如果您执行一次并仅存储 JSON,而不是让每个客户端加载文本文件并重复执行,这对您的客户来说会很棒。

一旦你有了它,就很容易......只需读取 JSON 对象,并使用邮政编码对其进行索引,然后获取城市/州。

于 2013-02-23T05:29:35.360 回答