带有ASP.NET控件的jQuery选择器
iam在asp.net页面中为州、市和邮政编码字段使用ajax。我希望这个ajax功能是通用的。我想对具有不同ID的textbox和label控件使用相同的ajax功能。我尝试使用cssclassproperty,但它适用于这两组控件。代码如下带有ASP.NET控件的jQuery选择器,jquery,asp.net-ajax,Jquery,Asp.net Ajax,iam在asp.net页面中为州、市和邮政编码字段使用ajax。我希望这个ajax功能是通用的。我想对具有不同ID的textbox和label控件使用相同的ajax功能。我尝试使用cssclassproperty,但它适用于这两组控件。代码如下 <script type="text/javascript"> $(document).ready(function () { $('.csszipcode').blur(function (event) {
<script type="text/javascript">
$(document).ready(function () {
$('.csszipcode').blur(function (event) {
var text = $('.csszipcode').val();
if (text == "") {
$('.csslblcity').text("");
$('.csslblstate').text("");
return;
}
var isValid = /^[0-9]{5}(?:-[0-9]{4})?$/.test(text);
if (!isValid) {
$('.csslblcity').text("");
$('.csslblstate').text("");
return;
}
$.ajax({
type: "POST",
url: "/SERVICES/DataService.asmx/getCityState",
data: "{'zipcode': '" + $('.csszipcode').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
AjaxSucceeded(msg);
},
error: AjaxFailed
});
});
});
function AjaxSucceeded(result) {
var city = result.d.split(':')[0];
var state = result.d.split(':')[1];
if (city != null && state != null) {
$('.csslblcity').html(city);
$('.csslblstate').html(state);
}
else {
$('.csslblcity').text("");
$('.csslblstate').text("");
}
}
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
}
</script>
$(文档).ready(函数(){
$('.csszipcode').blur(函数(事件){
var text=$('.csszipcode').val();
如果(文本==“”){
$('.csslblcity')。文本(“”);
$('.csslblstate')。文本(“”);
返回;
}
var isValid=/^[0-9]{5}(?:-[0-9]{4})?$/.test(text);
如果(!isValid){
$('.csslblcity')。文本(“”);
$('.csslblstate')。文本(“”);
返回;
}
$.ajax({
类型:“POST”,
url:“/SERVICES/DataService.asmx/getCityState”,
数据:“{'zipcode':'”+$('.csszipcode').val()+“}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
阿贾克斯(味精);
},
错误:ajax失败
});
});
});
函数AjaxSuccessed(结果){
var city=result.d.split(“:”)[0];
var state=result.d.split(“:”)[1];
如果(城市!=null&&state!=null){
$('.csslblcity').html(城市);
$('.csslblstate').html(state);
}
否则{
$('.csslblcity')。文本(“”);
$('.csslblstate')。文本(“”);
}
}
函数ajax失败(结果){
警报(result.status+''+result.statusText);
}
下面是html代码。我想将ajax功能应用于以下两个方面
文本框。如何区分当前处于活动状态的
<asp:textbox id="txtzipcode" runat="server" cssclass="csszipcode"></asp:textbox>
<asp:textbox id="txtcandacode" runat="server" cssclass="csszipcode"></asp:textbox>
我不完全清楚你在问什么 你说: 我想使用相同的ajax 文本框和 使用不同ID标记控件 这意味着您希望文本框和标签具有相同的功能,但接着说: 我试过使用cssclassproperty,但它 应用于两组控件。这个 代码如下
<script type="text/javascript">
$(document).ready(function () {
$('.csszipcode').blur(function (event) {
var text = $('.csszipcode').val();
if (text == "") {
$('.csslblcity').text("");
$('.csslblstate').text("");
return;
}
var isValid = /^[0-9]{5}(?:-[0-9]{4})?$/.test(text);
if (!isValid) {
$('.csslblcity').text("");
$('.csslblstate').text("");
return;
}
$.ajax({
type: "POST",
url: "/SERVICES/DataService.asmx/getCityState",
data: "{'zipcode': '" + $('.csszipcode').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
AjaxSucceeded(msg);
},
error: AjaxFailed
});
});
});
function AjaxSucceeded(result) {
var city = result.d.split(':')[0];
var state = result.d.split(':')[1];
if (city != null && state != null) {
$('.csslblcity').html(city);
$('.csslblstate').html(state);
}
else {
$('.csslblcity').text("");
$('.csslblstate').text("");
}
}
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
}
</script>
这意味着您不希望它应用于文本和标签
你能澄清一下吗
另外,发布HTML(最好是呈现的代码)。这将帮助我们确定如何最好地实现您的愿望
我可以尝试一个答案,但考虑到我不确定你问的是什么,可能是错的
ASP.NET标签控件呈现为
HTML元素。要区分具有相同类的文本框和跨距,请使用以下选择器
$('input.csszipcode')
$('span.csszipcode')
要将选择器仅限于文本框,请尝试以下操作:
$('input:text.csszipcode')
如果这不是您想要的,您可以添加更多说明吗?您是否尝试使用ClientId?点击这里->你必须澄清这个问题。事实上,这是没有意义的。我可以在这方面帮助你,但你必须在我之前就你的其他答案开始投票。