2010-12-13 39 views
-2

iam在asp.net頁面中使用ajax作爲州,城市和郵政編碼字段。我希望這個ajax功能是通用的。我想用不同的ID爲文本框和標籤控件使用相同的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功能。我怎麼能區分哪些是目前活躍。

​​
+1

也顯示您的HTML。 – Jamiec 2010-12-13 10:31:40

+0

您是否嘗試過使用ClientId? Checkc here - > http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx – 2010-12-13 10:35:14

+0

你真的*必須澄清這個問題。事實上,這沒有任何意義。 – 2010-12-13 10:49:12

回答

1

我不完全清楚你在問什麼。

你說:

我想用同樣的AJAX 功能的文本框,並用不同的ID 標籤控件。

難不成你想爲文本框和標籤相同的功能,但隨後說:

我試着用cssclassproperty但 應用到一系列的控制。代碼如下

暗示您不希望它適用於textboes和標籤。

你能澄清嗎?

此外,發佈您的HTML(最好是呈現的代碼)。這將幫助我們確定如何最好地實現你想要的。

我可以在一個答案刺傷,但鑑於我不知道你在問什麼,可能是錯誤的。

ASP.NET標籤控件呈現爲<span>HTML元素。爲了與同一類文本框和跨度區分,使用下面的選擇

$('input.csszipcode') 
$('span.csszipcode') 

要縮小選擇只文本框,試試這個:

$('input:text.csszipcode') 

如果這不是你是什麼後,就可以你添加更多的澄清?