jQuery-값으로 라디오 버튼 찾기


95

JQuery를 사용하여 값으로 라디오 버튼을 찾는 방법은 무엇입니까?

답변:


142

이 시도:

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

속성이있는 모든 라디오 버튼이 선택됩니다 value="foobar".


감사합니다. jQuery.each (cookieObj, function (i, val) {$ ( ": radio [value = val]"). attr ( 'checked', true);});
van

3
@test : 대신 이것을 시도하십시오 :function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
Gumbo

1
@Gumbo 함수에 이름을 지정하면 그렇게 부를 수 있습니까? : $ checkedRadioValues ​​= findChecked ( "value");
Ben Sewards 2013-07-22

25

나는 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);

수정 된 버그입니까? 아니면 값 주위에 따옴표를 넣어야합니까?
Simon_Weaver

19

이것도 이것에 의해 달성 될 수 있습니다 :

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

값이 aaa 인 라디오를 선택합니다.


.filter()방법

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

1
실제로 모든 라디오 버튼을 선택 하고 값변경aaa 하여'aaa'
bendman

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()

2

전체 선택기는 다음과 같습니다.

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"]를 사용하세요.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.