web-dev-qa-db-ja.com

JQuery-値でラジオボタンを見つける

JQueryを使用して、その値でラジオボタンを見つけるにはどうすればよいですか?

91
van

これを試して:

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

これにより、value="foobar"属性を持つすべてのラジオボタンが選択されます。

136
Gumbo

私は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);
24
dogatonic

これもこれにより実現できます。

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

これにより、aaaの値を持つ無線が選択されます


.filter()メソッドの場合:

_var radio =  $('input[type="radio"]').filter(function(){
                       return this.value === 'aaa';
                      }).val();
_
19
Jai

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()
5
dylan trevena

完全なセレクターは次のようになります。

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 興味があるかもしれないし、興味がないかもしれない

:radioはjQuery拡張機能であり、CSS仕様の一部ではないため、:radioを使用するクエリは、ネイティブDOM querySelectorAll()メソッドによって提供されるパフォーマンスの向上を利用できません。最新のブラウザでパフォーマンスを向上させるには、代わりに[type = "radio"]を使用してください。

1
Simon_Weaver