2012-01-18 6 views
21

をクリックして結合することなくjqueryのUIのbuttonsetで現在選択されているラジオボタンを取得します:私はこのようなラジオボタンを持つ

<div id="radio"> 
    <input type="radio" id="radio1" name="radioOption" /><label for="radio1">Choice 1</label> 
    <input type="radio" id="radio2" name="radioOption" checked="checked" /><label for="radio2">Choice 2</label> 
    <input type="radio" id="radio3" name="radioOption" /><label for="radio3">Choice 3</label> 
</div> 

そして、このように設定ボタン適用:

$(function() { 
    $("#radio").buttonset(); 
}); 

を私がする必要がありますクリックイベントにバインドせずに選択したラジオボタンを取得します。

+0

をあなたがこのリンクを有用見つけるかもしれません - http://stackoverflow.com/questions/8329579/jquery-check-current-state-of-radio-button-and-hide- div –

答えて

58

くそはちょうど私のselecterは、タイプミスがあった実現したが、それは他の誰か場合に役立ちます:あなたがしている場合は :あなたは私はあなたが次のことを行うことができなかったクリックイベントを、使用したくない場合は

を要素、それを自己使用のために探して:

$("#radio :radio:checked"); 

あなたは要素の使用のIDを探しているなら:

$("#radio :radio:checked").attr('id'); 

あなたが知っている必要がありますしている場合はどのような値のテキストその後、選択されたこの作業をする必要があります:私は見ての通り

$("#radio :radio:checked + label").text(); 
+1

本当にあなたが望むこと、つまり、ユーザーがそれを変更するたびに別の場所に値を保存することを要求するのではなく、任意の時点で無線値を取得していただきありがとうございます。よりエレガントで保守的な方法。 +1 – JMTyler

+0

私はOn/Offボタンセットを使用していますので、私は無線値を 'value = 'on''と 'value = 'off''に設定しました。 '$( '#radio:radio:checked')。val()== 'on''これは簡単で読みやすくなります。 – JMTyler

8

この

$("input:radio[name=radioOption]").click(function(){ 
     var value = $(this).attr("id"); 
     alert(value); 
}) 

Example

3

を試してみて、jqueryのUIでbuttonsetため、このようなイベントがありません。 hereが表示されます。

あなたは以下のように手動jqueryのバインドを記述する必要があります。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#radio").buttonset(); 
     $("#radio input").bind("click",function(){ 
       // do whatever you want to do with clicked button 
    }); 
}); 
</script> 
1

私は私は1つの関数を呼び出すボタンをクリックすると、それはbuttonSetからパラメータを取ります:あなたのケースで

$("#button").click(function() 
{ 

var params = $("input[name=radio]:checked").val(); 
alert(params); 

}); 

場合あなたがこれを行う、私はそれが動作するはずだと思う:

var params = $("input[name=radioOption]:checked").val(); 
3

だけでvalueを追加しますすべてのinputへのオマージュを次のように

<div id="radio">   
    <input type="radio" id="radio1" name="radioOption" checked="checked" value="first"/><label for="radio2">Choice 2</label> 
    <input type="radio" id="radio2" name="radioOption" value="second"/><label for="radio3">Choice 3</label> 
    <input type="radio" id="radio3" name="radioOption" value="third"/><label for="radio3">Choice 3</label> 
</div> 
関連する問題