Respuestas:
Prueba esto:
$(":radio[value=foobar]")
Esto seleccionará todos los botones de opción con el atributo value="foobar"
.
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
Estoy usando jQuery 1.6 y esto no funcionó para mí: $(":radio[value=foobar]").attr('checked',true);
En cambio, estoy usando: $('[value="foobar"]').attr('checked',true);
y funciona muy bien.
El código real que estoy usando borra las radios primero y usa en prop
lugar deattr
$('[name=menuRadio]').prop('checked',false);
$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);
Esto también se puede lograr con esto:
$('input[type="radio"][value="aaa"]').val();
Esto seleccionará la radio que tiene el valor de aaa
Con .filter()
método:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
aaa
luego devolver el'aaa'
digamos que tiene algo como esto en el 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>
entonces este tipo de cosas funciona.
$("fieldset input[name='UI_opt'][checked]").val()
Un selector completo se vería así:
bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")
dado que probablemente tenga más de un grupo de botones de opción como este
<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">
Usar un selector de ID como este (siguiente ejemplo) es malo porque no debería tener varios elementos con la misma ID. Supongo que alguien que encuentre esta pregunta ya sabe que esto es malo.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
Lo siguiente sobre :radio
puede ser de interés o no
Debido a que: radio es una extensión de jQuery y no forma parte de la especificación CSS, las consultas que usan: radio no pueden aprovechar el aumento de rendimiento proporcionado por el método DOM nativo querySelectorAll (). Para un mejor rendimiento en los navegadores modernos, use [type = "radio"] en su lugar.