iam은 주, 도시 및 우편 번호 필드에 asp.net 페이지에서 ajax를 사용합니다. 이 Ajax 기능을 일반화하고 싶습니다. 나는 다른 아이디와 텍스트 상자 및 레이블 컨트롤에 대해 동일한 아약스 기능을 사용하고 싶습니다. 나는 cssclassproperty로 시도했지만 컨트롤 세트에 모두 적용됩니다. 코드는 다음과 같습니다ASP.NET 컨트롤이있는 jQuery 선택기
<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 코드는 다음과 같습니다. 다음 두 개의 텍스트 상자에 대해 ajax 기능을 적용하려고합니다. 어떻게 현재 활성화되어 있는지 구분할 수 있습니다.
<asp:textbox id="txtzipcode" runat="server" cssclass="csszipcode"></asp:textbox>
<asp:textbox id="txtcandacode" runat="server" cssclass="csszipcode"></asp:textbox>
또한 HTML을 표시하십시오. – Jamiec
ClientId를 사용해 보셨습니까? Checkc here -> http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx –
이 질문을 명확히해야 할 것입니다. 그것이 그렇듯이 말이되지 않습니다. –