2011-01-16 15 views
1

HTML選択要素の.changeステータスをチェックするJqueryコードがあります。選択要素に変更がある場合は、特定のラジオボタンがアクティブかどうかを確認する必要があります。このJqueryコードはなぜ実行されませんか?

$('#select_ele').change(function(){ 
    // 
    //... Doing all kind of fancy stuff here 
    // 
    if($('input[name="radio_button"]').val() == 'bp'){ 
     alert('YO'); 
    } 
}); 

ここでは、「bp」ラジオボタンがアクティブであるかどうかをチェックするように変更しました。

+0

$(document).readyイベントでコードをラッピングしていますか? (または、略語$(function(){...});) –

+0

ええ、私はすべて正しいものに包まれています。 – arma

答えて

4

あなたのコードは、常にそれがチェックされているかどうか、あなたに最初に見つかったname="radio_button"試合の.val()を与えるだろう。

代わりにchecked-selector(docs)を使用して、チェックされているものを取得する必要があります。

$('input[name="radio_button"]:checked').val() == 'bp' 
+0

私はそれを使用して以来、私の非常にばかげていた:私の文書の他の部分でチェックセレクタ:( – arma

2

文書が読み込まれる前にコードが実行されている可能性があります。
したがって、セレクタは何も一致しません(ドキュメントはまだ解析されていないため)。スクリプトは何もしません。 <script>ブロックをページの末尾に移動するか、$(function() { ... })にラップしますそれはドキュメントのロードイベントにあります)。

+0

doh ofc私はこれを持っています:)とにかく私が火かき棒を持っていないなら、私はエラーを投げるでしょう。 – arma

1

が、これはあなたが探しているものであると考えて:($( '入力[名前= "BP"]')場合

(ある ":チェックする"){ 警告( "よ");。 })

+0

これは値= bpの名前ではありません。 5つのラジオボタンで共有されている名前があります。 – arma

0

これは中間でこれを試してみてください。

alert("Hello I am Working") 

これと同様に。

console.log(event.type); 
関連する問題