使用javascript动态更改表单元素

使用javascript动态更改表单元素,javascript,ajax,jquery,Javascript,Ajax,Jquery,我试图根据用户输入的邮政编码更改城市和州。这一切都应该在jquery的同一页面上完成。我在这个网站的其他地方找到了一些代码,但无法让它工作。以下是代码片段: <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.validate.js"></script>

我试图根据用户输入的邮政编码更改城市和州。这一切都应该在jquery的同一页面上完成。我在这个网站的其他地方找到了一些代码,但无法让它工作。以下是代码片段:

        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript" src="js/jquery.validate.js"></script>
        <script type="text/javascript" src="js/cufon-yui.js"></script>
        <script type="text/javascript" src="js/Myriad_Pro_700.font.js"></script>
        <script type="text/javascript">

        $("#zip").bind("change", function(e){
          $.getJSON("http://mydomain.com/code.php?zip=" + $("#zip").val(),
                function(data){
                  $.each(data, function(i,item){
                    if (item.field == "city") {
                      $("#city").val(item.value);
                    } else if (item.field == "state") {
                      $("#state").val(item.value);
                    }
                  });
                });
        });

        </script>

$(“#zip”).bind(“change”,函数(e){
$.getJSON(“http://mydomain.com/code.php?zip=“+$(“#zip”).val(),
功能(数据){
$。每个(数据、功能(i、项){
如果(item.field==“城市”){
美元(“#城市”).val(项目价值);
}else if(item.field==“state”){
$(“#状态”).val(项目值);
}
});
});
});
这是我的html:

                <label>zip</label>
                <input type="text" name="zip" maxlength="5" id="zip" class="textbox1" />
                <label>first name</label>
                <input type="text" name="fname" class="textbox1" />
                <label>last name</label>
                <input type="text" name="lname" class="textbox1" />
                <label>address</label>
                <input type="text" name="address" class="textbox1" />
                <label>address 2</label>
                <input type="text" name="address2" class="textbox1" />
                <label>city</label>
                <input type="text" name="city" id="city" class="textbox1" />
               <label>state</label>
                <input type="text" name="state" id="state" class="textbox1" maxlength="2" />
zip
名字
姓
住址
地址2
城市
状态

php文件输出的json很好

您正试图通过ID访问输入,但您的输入没有ID。要么更改选择器,要么给您输入ID。

子域不准确(正如我在电子邮件中所说的)。改变


问题到底是什么?当我输入邮政编码时,什么都不会发生。此外,您不应该每次更改都进行API调用。你应该把“change”改为keydown或者其他什么,然后设置一个计时器。如果它们暂停250毫秒,那么getJSON,否则在它们等待之前忽略调用。这也将解决.change()问题
...
$.getJSON("http://mydomain.com/code.php?zip=" + $("#zip").val(),
...
...
$.getJSON("http://www.mydomain.com/code.php?zip=" + $("#zip").val(),
...