Eu tento verificar um radio button com jQuery. Aqui está meu código:
E o JavaScript:
jQuery("#radio_1").attr('checked', true);
Não funciona:
jQuery("input[value='1']").attr('checked', true);
Não funciona:
jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);
Não funciona:
Você tem outra idéia? o que estou perdendo?
Para versões do jQuery iguais ou superiores (> =) 1.6, use:
$("#radio_1").prop("checked", true);
Para versões anteriores a (<) 1.6, use:
$("#radio_1").attr('checked', 'checked');
Dica: Você também pode querer click()
ou change()
no botão de opções depois. Veja os comentários para mais informações.
Tente isso.
Neste exemplo, estou segmentando-o com seu nome e valor de input
$("input[name=background][value='some value']").prop("checked",true);
É bom saber: no caso de valor com várias palavras, funcionará também por causa de apóstrofos.
Mais uma function prop () que é adicionada no jQuery 1.6, que serve ao mesmo propósito.
$("#radio_1").prop("checked", true);
Curta e fácil de ler a opção:
$("#radio_1").is(":checked")
Ele retorna verdadeiro ou falso, então você pode usá-lo na declaração “if”.
Tente isso.
Para verificar o radio button usando o valor use isso.
$('input[name=type][value=2]').attr('checked', true);
Ou
$('input[name=type][value=2]').attr('checked', 'checked');
Ou
$('input[name=type][value=2]').prop('checked', 'checked');
Para verificar o radio button usando ID, use isso.
$('#radio_1').attr('checked','checked');
Ou
$('#radio_1').prop('checked','checked');
A maneira $.prop
é melhor:
$(document).ready(function () { $("#radio_1").prop('checked', true); });
e você pode testá-lo como o seguinte:
$(document).ready(function () { $("#radio_1, #radio_2", "#radio_3").change(function () { if ($("#radio_1").is(":checked")) { $('#div1').show(); } else if ($("#radio_2").is(":checked")) { $('#div2').show(); } else $('#div3').show(); }); });
Você tem que fazer
jQuery("#radio_1").attr('checked', 'checked');
Esse é o atributo HTML
Se o name
propriedade não funcionar, não esqueça que o id
ainda existe. Essa resposta é para pessoas que desejam segmentar o id
aqui como você faz.
$('input[id=element_id][value=element_value]').prop("checked",true);
Porque o name
propriedade não funciona para mim. Certifique-se de não cercar o id
e o name
com aspas duplas / simples.
Felicidades!
Sim, funcionou para mim como um caminho:
$("#radio_1").attr('checked', 'checked');
$("input[name=inputname]:radio").click(function() { if($(this).attr("value")=="yes") { $(".inputclassname").show(); } if($(this).attr("value")=="no") { $(".inputclassname").hide(); } });
Devemos querer dizer que é um botão de radio
. Por favor, tente com o seguinte código.
$("input[type='radio'][name='userRadionButtonName']").prop('checked', true);
Tente isso
var isChecked = $("#radio_1")[0].checked;
Obter valor:
$("[name='type'][checked]").attr("value");
Definir valor:
$(this).attr({"checked":true}).prop({"checked":true});
Botão de rádio clique em adicionar attr selecionado:
$("[name='type']").click(function(){ $("[name='type']").removeAttr("checked"); $(this).attr({"checked":true}).prop({"checked":true}); });
Apenas no caso de alguém estar tentando conseguir isso ao usar o jQuery UI, você também precisará atualizar o object de checkbox de seleção da UI para refletir o valor atualizado:
$("#option2").prop("checked", true); // Check id option2 $("input[name='radio_options']").button("refresh"); // Refresh button set
Eu tenho algum exemplo relacionado para ser melhorado, que tal se eu quiser adicionar uma nova condição, digamos, se eu quiser esquema de colors para ser escondido depois de eu clicar no valor de status do projeto, exceto Pavers e Paving Slabs.
Exemplo está aqui:
$(function () { $('#CostAnalysis input[type=radio]').click(function () { var value = $(this).val(); if (value == "Supply & Lay") { $('#ul-suplay').empty(); $('#ul-suplay').append('
Sinto muito pelo inglês.
var $j = jQuery.noConflict(); $j(function() { // add handler $j('#radio-1, #radio-2').click(function(){ // find all checked and cancel checked $j('input:radio:checked').prop('checked', false); // this radio add cheked $j(this).prop('checked', true); }); });
Tente isto com exemplo
Tente isso
$(document).ready(function(){ $("input[name='type']:radio").change(function(){ if($(this).val() == '1') { // do something } else if($(this).val() == '2') { // do something } else if($(this).val() == '3') { // do something } }); });
tente isso
$("input:checked", "#radioButton").val()
se marcado retorna True
se não marcado retorna False
jQuery v1.10.1
Algumas vezes acima de soluções não funcionam, então você pode tentar abaixo:
jQuery.uniform.update(jQuery("#yourElementID").attr('checked',true)); jQuery.uniform.update(jQuery("#yourElementID").attr('checked',false));
Outra maneira que você pode tentar é:
jQuery("input:radio[name=yourElementName]:nth(0)").attr('checked',true);
Acabei de ter um problema semelhante, uma solução simples é apenas usar:
.click()
Qualquer outra solução funcionará se você atualizar o rádio após chamar a function.
function rbcitiSelction(e) { debugger $('#trpersonalemail').hide(); $('#trcitiemail').show(); } function rbpersSelction(e) { var personalEmail = $(e).val(); $('#trpersonalemail').show(); $('#trcitiemail').hide(); } $(function() { $("#citiEmail").prop("checked", true) });
$("#radio_1").attr('checked', true); //or $("#radio_1").attr('checked', 'checked');
Tente isto:
$(document).ready(function(){ $("#Id").prop("checked", true).checkboxradio('refresh'); });
attr
aceita duas seqüências de caracteres.
A maneira correta é:
jQuery("#radio_1").attr('checked', 'true');