2012-01-11 24 views
1

私はまだjQueryを初めて使っています!私の古いウェブサイトでテストして、機能をテストしてください。単純なjQueryスクリプトを実行することさえできず、ひどく恥ずかしいです。みんな助けて!jQueryセレクタがIDで要素を見つけることができません

何らかの理由で、idで要素を見つけるためにjQueryセレクタを取得できません。コードは次のとおりです

$(document).ready(function() { 
     if (jQuery) { 
      alert("jQuery working"); 
     } else { 
      alert("jQuery not working"); 
     } 

     $('#TextBox4').keyup(function() { 
      alert("KEYUP FUNCTION WORKENGGG"); 
      var password = jQuery('#TextBox3').val(); 
      var cfmPassword = jQuery('#TextBox4').val(); 
      check_password_match(password, cfmPassword); 
     }); 
    }); 

これは私のASPのhtmlコードです。

<asp:TextBox ID="TextBox4" runat="server" BackColor="#181818" ForeColor="White" 
         TextMode="Password" ToolTip="Password">Password</asp:TextBox>` 

<asp:TextBox ID="TextBox3" runat="server" BackColor="#181818" ForeColor="White" 
         TextMode="Password" ToolTip="Password" Height="22px">Password</asp:TextBox>` 
+1

私は問題は、 "TextBox4"はASPがHTMLを生成する際に使用される実際の値ではないということだと思います。あなたは "クライアントID"を要求する必要がありますが、私はASPプログラマではありませんので、正確にそれを行う方法はわかりません。 – Pointy

+0

jquery($) – techfoobar

+0

によってトリガされたdomreadyイベントの中に、jqueryが機能しない場合は、if(jQuery){条件に達することはありません。TextBox4という名前の要素があるかどうかを確認しましたか?最初に基本的なHTMLでボックスを作ってみてください。 – tehdoommarine

答えて

3

これを試してみてください:クライアント側のasp.netコントロールに $('#<%=TextBox4.ClientID %>')

あなたはaspxページにそれを与えるものとは異なるIDを持っています。

+0

迅速な返信をありがとう!できます! – user1143801

1

HTML要素のIDがASPコントロールのIDと一致しません。この理由は、ASP.NETコントロールはIDネームスペースとして機能するネーミングコントロールであり、複数のコントロールが同じIDを持ちながら異なるClientIDを持つことができるからです。最終的に、ClientIDはJQueryで検索する必要があります。私。 $('#<%# TextBox4.ClientID %>')は、取得しようとしているJQuery要素を返します。

+0

ありがとう!それは私のために働いた!とても有難い! – user1143801

0

私はjQueryのは、あなたの要素のようなものを使用することで発見された場合はすぐにチェックするための最も簡単な方法を見つける:あなたのページは、あなたの特定の要素が赤で強調表示されなければならないロードこの道

$("#TextBox4").css("border","solid 1px red"); 

を。その後、セレクタが動作していることを知っているあなたの実際のコードを進めることができます。

あなたのアラートがポップアップしてjQueryが正しくインストールされていると仮定すると、実際のソースを調べることをお勧めします。つまり、問題のページを参照して、実際のHTMLがどのようにレンダリングされているかを確認します。

あなたはaspタグを使用しているようです(Microsoft .NETのいくつかのフレーバーですか?)、ページがレンダリングされるまでに、実際のHTMLタグが表示されているラインコーディング。ビューソースを見て、テキストボックスが実際にレンダリングしているものを調べます。おそらくそれは<textarea>または<input>タグであることがわかります。 IDが変更されたかどうかを確認します。私はMicrosoftが提供するIDにIDやその他の変数を追加する方法を持っていると思います。実際のコードjQueryは、次のような外見に対してセレクタを使用しています。

<input type="text" id="TextBox4_123124" .... 

などです。この場合、同じ方法でIDが常にintに変更されているかどうかを確認する必要があります。そうでない場合は、MicrosoftのjQuery実装を使用する必要があります。

jQueryセレクタを実際に試してみるには、純粋なhtmlでhtmlテキスト要素を作成してみて、それがうまくいくかどうかを確認してから、Microsoftの自動生成HTMLの解読に移りましょう。

+0

ページが読み込まれた後にIDを表示するためのヒントをありがとう、本当に役立ちます! :> – user1143801

関連する問題