2010-01-31 61 views

回答

129

試試這個:

$(":radio[value=foobar]") 

這將選擇與屬性value="foobar"所有單選按鈕。

+0

由於我這樣使用它: jQuery.each(cookieObj,functio n(i,val){ $(「:radio [value = val]」)。attr('checked',true); }); – van

+3

@test:試試這個:'function(i,val){$(「:radio [value =」+ val +「]」)。attr('checked',true); } – Gumbo

+0

以供參考:http://api.jquery。com/radio-selector/ –

23

我使用jQuery 1.6,這並沒有爲我工作:$(":radio[value=foobar]").attr('checked',true);

相反,我使用的是:$('[value="foobar"]').attr('checked',true); 和它的偉大工程。

我正在使用的實際代碼首先清除收音機和使用的prop代替attr

$('[name=menuRadio]').prop('checked',false); 

$('[name=menuRadio][value="Bar Menu"]').prop('checked',true); 
+0

這是一個錯誤已修復?或者我們是否應該在價值附近引用報價? –

5

說你在HTML是這樣的:

<fieldset> 
    <input type="radio" name="UI_opt" value="alerter" checked> Alerter<br/> 
    <input type="radio" name="UI_opt" value="printer"> Printer<br/> 
    <input type="radio" name="UI_opt" value="consoler"> Consoler<br/> 
</fieldset> 

那麼這樣的事情作品。

$("fieldset input[name='UI_opt'][checked]").val() 
0

一個完整的選擇應該是這樣的:

bool shipToBilling = $("[name=ShipToBillingAddress][value=True]") 

因爲你可能有不止一個單選按鈕組這樣

<input name="ShipToBillingAddress" type="radio" value="True" checked="checked"> 
<input name="ShipToBillingAddress" type="radio" value="False"> 

<input name="SomethingElse" type="radio" value="True" checked="checked"> 
<input name="SomethingElse" type="radio" value="False"> 

使用的ID選擇這樣的(下一例如)是不好的,因爲你不應該有多個具有相同ID的元素。我假設有人發現這個問題已經知道這是不好的。

$("#DidYouEnjoyTheMovie:radio[value=yes]") 

以下約:radio可能或可能不感興趣

因爲:無線電是一個jQuery擴展,而不是CSS 規範的一部分,使用查詢:無線電不能採取 的優點性能提升由本地DOM querySelectorAll()提供,方法爲 。爲了在現代瀏覽器中獲得更好的性能,請改用[type =「radio」] 。

16

這可以通過此也可以實現:

$('input[type="radio"][value="aaa"]').val(); 

這將選擇具有AAA


的值隨着.filter()方法的無線電:

var radio = $('input[type="radio"]').filter(function(){ 
         return this.value === 'aaa'; 
         }).val(); 
+1

這實際上會選擇所有的單選按鈕,然後**將它們的值更改爲「aaa」,然後返回「aaa'」 – bendman

+1

@bendman是的,只需編輯答案 – Jai