Olá.
Muitas pessoas me mandam email ou perguntam no grupo de jQuery como faz para dar um check em inputs do tipo radio. Neste post vamos ver algumas formas:
Em versões do jQuery menores que 1.9
a forma correta é: attr('checked', 'checked');
e para as outras versões devemos usar: .prop("checked", true)
. Como na data desse post estamos na versão 2.0.2
vou usar a função prop()
Supondo que temos o seguinte código HTML
<form> <div id='type'> <label for="radio_1">Um</label><input type='radio' id='radio_1' name='type' value='um' /> <label for="radio_2">Dois</label><input type='radio' id='radio_2' name='type' value='dois' /> <label for="radio_3">Três</label><input type='radio' id='radio_3' name='type' value='tres' /> </div> </form>
Selecionando radio button pelo id
A maneira mais fácil de dar um checked em algum dos radios seria pegando o elemento pelo id:
$("#radio_2").prop("checked", true)
Demo:
Selecionando radio button pelo valor
Uma coisa que pode ser muito comum é não ter um id, ou esse id ser desconhecido. Dessa forma, precisamos selecionar o elemento pelo seu valor.
$("input[value=tres]").prop("checked", true)
Onde tres
é o valor do elemento que eu estou buscando.
Demo
Relembrando
Para versões abaixo de 1.9
usa-se:
$elemento.attr('checked', 'checked')
E para outras versões:
$elemento.prop("checked", true)
Até a próxima.