2012-02-25 15 views
0

jqueryを初めて使用しています。この単純なセクションが機能しない理由はわかりません。私は2つのボタンを持っています.1つはdivを隠し、もう1つはそれを示していますが、UseSubmitBehaviourをfalseに設定してもボタンはポストバックを続けます。シンプルなjqueryが機能しない

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#Social_WorkerButton").click((function() { 
     $("#SponsorDetails").hide("slow"); 
    }); 
    $("#SponsorButton").click(function() { 
     $("#SponsorDetails").show("slow"); 
    }); 
}); 

これはjqueryのファイルへの参照は、マスターページにある、ヘッド内のスクリプトブロックです。

編集:私は2番目のセミコロンがあること、または)すべきであるという警告を取得するが、私はコードがW3学校

+0

お使いのブラウザでの最終ページのロード、jqueryの-x.x.x.jsがあなたのページのソースコードに含まれているかどうかを確認! – linuxeasy

+0

参照番号は上に表示されていますが、実際のコードではありません – Matt

+0

jsコンソールを確認してください(エラーでChromeとFFのctrl + j) –

答えて

3

からまっすぐである理由、あなたはデフォルトを停止するイベント引数のpreventDefault()を使用することができます表示されません(この場合は、ボタンが送信されます)。

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#Social_WorkerButton").click((function (e) { 
     e.preventDefault(); 
     $("#SponsorDetails").hide("slow"); 
    }); 
    $("#SponsorButton").click(function (e) { 
     e.preventDefault(); 
     $("#SponsorDetails").show("slow"); 
    }); 
}); 
+0

それを試してみましたが、まだポストバックをしています – Matt

+0

うーん...正常に動作します。各クリックハンドラの最後にfalseを返すこともできます。それらのセレクタがボタンを正しく見つけていると確信していますか?おそらくハンドラの先頭に警告を出して、ハンドラが起動しているかどうかを確認してください。 – HackedByChinese

+0

Nixが指摘している余分なカッコがありましたが、ポストバックを停止するにはpreventDefault()メソッドが必要でした。 – Matt

2

あなたはASP.NETにタグを付けました。あなたはASPを使用することはありません:コントロール、あなたですか?あなたがコードの背後でそれらを使用していない場合、私はそれを行う理由は表示されません。単純なHTML <input type="button" />または単に<button />を試してみてください。

EDIT

$(document).ready(function() { 
    $("#Social_WorkerButton").click(function() { // <-- Extra parenteses removed 
     $("#SponsorDetails").hide("slow"); 
    }); 
    $("#SponsorButton").click(function() { 
     $("#SponsorDetails").show("slow"); 
    }); 
}); 
+0

私はasp:buttonsを使用していますが、通常のhtmlボタンと上記の回答それでも動作しませんでした。 – Matt

+1

最初の機能で1つの親が多すぎます。 – Nix

+0

よかった、ありがとう。上記のpreventDefault()メソッドも必要でしたので、これを選択した回答としてマークする必要があります。再度、感謝します – Matt

関連する問題