2009-03-26 20 views
1

jQueryを使用して、一連のラジオボタンのクリックを検出したいと考えています。彼らはすべてそれらを検出するために、foobarというcssクラスが割り当てられています。簡単だよね?それでも、このコードは機能しません:jQueryクリック(fn)は入力要素では機能しません

$("input.foobar").click(function() 
{ 
    alert(this.id); 
} 
); 

上記のコードにはどのような問題がありますか?

this.idは実際には現在のラジオボタンのIDを返しますか?

EDIT:ページのHTMLが本当にborkedされる(valdiateていない)ので、多分それが問題だ...

EDIT 2: HTMLが救いを超えて台無しにされます。それを可能にし、回避策を修正する必要があります。 HTMLの神々が私を許してくれますように!

+0

あなたのHTMLを見ると便利です。 – tvanfosson

+0

"this.idが実際に現在のラジオボタンのIDを返しますか?" yook –

+0

HTML: AquinasTub

答えて

0

あなたのコードには何も問題はありません。うまくいくはずです。しかし、htmlが問題のどこにあるのかを理解するのに役立つかもしれません。

あなたの2番目の質問に答えるには、はい、「this.id」は有効なjavascriptです。

3
$("input.foobar").change(function() { 
    alert(this.id); 
}); 
0

$("input.foobar").change(function() 

ではなく、試してみてください.click(function()

0

あり何も悪いことは、あなたのコード例ではありませんし、私のために期待どおりに動作します:無線の

<input type="radio" class="foobar" id="x1" /> 
<input type="radio" class="foobar" id="x2" /> 
<input type="radio" class="foobar" id="x3" /> 

クリックすると、警告ボックスが表示さラジオのIDと一緒に。周囲のテキストやラベル要素ではなく、実際にボックスをクリックしましたか?

+0

はい、ラジオボタンをクリックしました。しかし、私のHTMLには誤りがあるようです。 htmlを調べるのは難しいと思う。 – AquinasTub

関連する問題