2014-05-09 48 views
0

试图在输入邮政编码时获取表单以自动填充城市和州的文本框。使用邮政编码输入的自动填充城市和州

下面的代码是我正在尝试使用的。如果我将<asp:TextBox>替换为<input type..>它的工作,但我特别需要使用<asp:TextBox>为我的领域。有没有人有关于如何让这个工作的提示?

这里是它与输入的工作一的jsfiddle:http://jsfiddle.net/7VtHc/5/

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"> </script> 
<script type='text/javascript'> 
$(window).load(function() { 
    $(document).ready(function() { 
     $("#zipTxtBox").keyup(function() { 
      var el = $(this); 
      if (el.val().length === 5) { 
       $.ajax({ 
        url: "http://zip.elevenbasetwo.com", 
        cache: false, 
        dataType: "json", 
        type: "GET", 
        data: "zip=" + el.val(), 
        success: function (result, success) { 
         $("#cityTxtBox").val(result.city); 
         $("#stateTxtBox").val(result.state); 
        } 
       }); 
      } 
     }); 
    }); 
}); 
</script> 

<div class="row"> 
     <div class="col-xs-6"> 
      <asp:Label ID="Label13" runat="server" Text="Zip Code" /> 
      <asp:TextBox ID="zipTxtBox" runat="server" /> 
     </div> 
     <div class="col-xs-3"> 
      <asp:Label ID="Label15" runat="server" Text="City" /> 
      <asp:TextBox ID="cityTxtBox" runat="server" /> 
     </div> 
     <div class="col-xs-2"> 
      <asp:Label ID="Label16" runat="server" Text="State" /> 
      <asp:TextBox ID="stateTxtBox" runat="server" /> 
     </div> 
</div> 
+0

<asp:TextBox ID="cityTxtBox" ClientIDMode="static" runat="server" /> 

更多static控制'with' ...'for' ......你能改写ÿ我们的问题?以及哪些数字对邮政编码有效,以便我们可以对其进行测试? – balexandre

+0

@balexandre,修复隐藏的代码。 – gunr2171

+0

@balexandre我使用60440作为邮政编码 – techora

回答

4

为了使用ASP.NET服务器控件,您需要使用相应的ID(如果你看到的源代码,您的文本框有一个奇怪的如果您使用的是旧版本的WebForms你在控制的ID属性指定的ID,而不是一个

(以下.NET 3.5 - 含)你需要使用:

$("#<%= cityTxtBox.ClientID %>").val(result.city); 
$("#<%= stateTxtBox.ClientID %>").val(result.state); 

同样,当你拉邮编:

$("#<%= zipTxtBox.ClientID %>").keyup(... 

如果您有最新版本的WebForms(.NET 4+),所有你需要设置设置ClientIDModestatic,然后你可以使用正常的代码,你有,如:在Scott's Guthrie blog entry

相关问题