JQuery를 사용하여 값으로 라디오 버튼을 찾는 방법은 무엇입니까?
답변:
이 시도:
$(":radio[value=foobar]")
속성이있는 모든 라디오 버튼이 선택됩니다 value="foobar"
.
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
나는 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);
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()
전체 선택기는 다음과 같습니다.
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"]를 사용하세요.