2012-01-18 50 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 – 2012-01-18 11:05:44

回答

58

媽剛剛意識到我selecter有一個錯字,但如果它可以幫助別人:

如果你不想使用click事件,我沒有,你可以做到以下幾點:如果你 尋找元素其自用:

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

如果你正在尋找的元素使用的ID:

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

如果你需要知道什麼值的文本選擇那麼這應該工作:

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

謝謝您提供的答案實際上是您想要的,即*在任何時間點獲取*無線電值,而不是要求您在每次用戶更改時都將值存儲在其他地方。 WAY更優雅和可維護。 +1 – JMTyler 2013-04-01 02:25:39

+0

我正在使用開/關按鈕組,因此我將無線電值設置爲''value''on''和'value ='off''。這使得它簡單易讀:'$('#radio:radio:checked')。val()=='on'' – JMTyler 2013-04-01 02:29:22

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

當我在一個按鈕,我稱之爲功能點擊,它需要的參數從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> 
相關問題