当我输入邮政编码时,尝试获取表单以自动填充城市和州文本框。
以下代码是我尝试使用的代码。如果我将<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 :(得分:4)
为了使用ASP.NET服务器控件,您需要使用它们的ID(如果您看到源代码,您的文本框有一个奇怪的ID,而不是您在控件的ID
属性中指定的那个)
如果您使用的是旧版本的WebForms(在.NET 3.5以下),则需要使用:
$("#<%= cityTxtBox.ClientID %>").val(result.city);
$("#<%= stateTxtBox.ClientID %>").val(result.state);
拉下邮政编码时也是如此:
$("#<%= zipTxtBox.ClientID %>").keyup( ...
如果你有一个最近的WebForms版本(.NET 4+),你需要设置ClientIDMode
到static
,然后就可以使用正常的代码,例如:
<asp:TextBox ID="cityTxtBox" ClientIDMode="static" runat="server" />
中static
个控件的更多内容