Respostas:
Experimente isto:
$(":radio[value=foobar]")
Isso selecionará todos os botões de opção com o atributo value="foobar"
.
function(i, val) { $(":radio[value="+val+"]").attr('checked',true); }
Estou usando o jQuery 1.6 e isso não funcionou para mim: $(":radio[value=foobar]").attr('checked',true);
Em vez disso, estou usando: $('[value="foobar"]').attr('checked',true);
e funciona muito bem.
O código real que estou usando limpa os rádios primeiro e usa em prop
vez deattr
$('[name=menuRadio]').prop('checked',false);
$('[name=menuRadio][value="Bar Menu"]').prop('checked',true);
Isso também pode ser alcançado:
$('input[type="radio"][value="aaa"]').val();
Isso irá selecionar o rádio que tem o valor de aaa
Com .filter()
método:
var radio = $('input[type="radio"]').filter(function(){
return this.value === 'aaa';
}).val();
aaa
seguida, retornar o'aaa'
digamos que você tenha algo assim no 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>
então esse tipo de coisa funciona.
$("fieldset input[name='UI_opt'][checked]").val()
Um seletor completo seria assim:
bool shipToBilling = $("[name=ShipToBillingAddress][value=True]")
dado que você provavelmente tem mais de um grupo de botões de opção 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 um seletor de ID como este (próximo exemplo) é ruim porque você não deve ter vários elementos com o mesmo ID. Presumo que alguém que está encontrando essa pergunta já saiba que isso é ruim.
$("#DidYouEnjoyTheMovie:radio[value=yes]")
O que se segue :radio
pode ou não ser do seu interesse
Como: radio é uma extensão jQuery e não faz parte da especificação CSS, as consultas usando: radio não podem tirar vantagem do aumento de desempenho fornecido pelo método nativo DOM querySelectorAll (). Para um melhor desempenho em navegadores modernos, use [type = "radio"].