2012-05-04 15 views
1

ラジオボタンのグループはすべて同じ名前です。 セレクタを使用して、.changedイベントを名前でラジオボタンgrouupにアタッチします。 イベントは発生しますが、ラジオボタングループの.val()は、変更前の変更前のグループの値です。 変更後に値を取得するには、間違っているものがなければなりません。jqueryとRadioButtonで変更されたイベント

$('[name="Messages"]').click(function() { 
    someFunction('Messages', $('[name="Messages"]').val()) 
}); 

答えて

4

おそらく、クリックされた特定のラジオボタンの値が必要です。 $(this).val()を使用して取得することができます。それ以外の場合は、明確にする必要があります、 "グループ値"などのものはありません。個々のラジオボタンにはそれぞれ独自の価値があります。

$('[name="Messages"]').click(function() { 
    someFunction('Messages', $(this).val()); 
}); 
1

そのため、あなたのクリックは、常にDOMにおける最初のラジオボタンの値を戻すことが、非選択のラジオボタンをフィルタリングしていません。 :checkedにフィルタリングしてみてください。

$('[name="Messages"]').click(function() { 
    someFunction('Messages',$('[name="Messages"]:checked').val()); 
}); 

フィドル:http://jsfiddle.net/T7Q8T/

+0

クリックだ1がチェックされますいずれかになります! DOMを再クエリーする必要はありません。 –

+1

私はこの1つを過度に複雑にしたように見えます!私はあなたのフィドルであなたを試して、それは働いた、私はそれはないだろうと思ったが、私はあなたに+1を払います:) – mattytommo

+0

+1 for fiddle .. – Jay

関連する問題