2010-12-13 18 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コードは次のとおりです。私は、以下の2つのテキストボックスにajax機能を適用したいと考えています。どちらが現在アクティブであるかをどのように区別することができますか。

​​
+1

あなたのHTMLも表示してください。 – Jamiec

+0

ClientIdを試しましたか?ここでチェックしてください - > http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx –

+0

あなたは本当にこの質問を明確にする必要があります。そうであるように、それは意味をなさない。 –

答えて

1

私はあなたが何を求めているのか完全にはっきりしていません。

あなたは言う:

私は別のIDを持つ同じテキストボックスのためのAjax 機能と ラベルコントロールを使用します。言うあなたはテキストボックスやラベルに同じ機能を望んでいることを意味しているが、

を私はcssclasspropertyと試みたが、それは は、コントロールの両方のセットに適用されます。 コードは次のとおりです

テキストボーンとラベルには適用したくないという意味です。

あなたは明確にできるでしょうか?

また、HTML(好ましくはレンダリングされたコード)を投稿してください。これは、あなたが望むものを達成するための最良の方法を確かめるのに役立ちます。

私は答えで刺すことができますが、私があなたが何を求めているのか分からないとすれば、間違っている可能性があります。

ASP.NETラベルコントロールは、<span> HTML要素としてレンダリングされます。これはあなたが缶の後にあるものではない場合

$('input:text.csszipcode') 

:テキストボックスと同じクラスにまたがる区別するために、これを試してみてください、唯一のテキストボックスに、セレクタを絞り込むには、次のセレクタ

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

を使用あなたは明確化を追加しますか?

関連する問題