Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Criar um evento em um radio button para saber quando eles esta checked ou não.

Minha dúvida é: como criar um evento em um radio button para saber quando eles esta checked ou não. Por exemplo: Cliquei em um radio, ficou checked, então abre um campo pra digitar um texto, cliquei em outro radio, esse campo se fecha.

Eu consegui fazer o campo se abrir usando o .change() do JQuery, porém não sei como fazer com que ele se feche.

2 respostas

Fala aí Warlen, beleza?

Você pode fazer isso através do :checked, por exemplo:

$('.meu-radio:checked')

Espero ter ajudado.

solução!

No caso, uma forma seria, quando evento 'change' for chamado, você avaliar todos os radios que fazem parte do mesmo grupo para ver qual está selecionado.

Considerando os elementos abaixo, quando eu selecionar um radio ele vai deverá abrir a div abaixo dele:

<div>
    <input type="radio" name="a" value="1" checked="checked">
    <div style="display:none">input 1</div>
</div>

<div>
    <input type="radio" name="a" value="2">
    <div style="display:none">input 2</div>
</div>

<div>
    <input type="radio" name="a" value="3">
    <div style="display:none">input 3</div>
</div>

Podemos assinar o evento change para o grupo de inputs, e quando o evento acontecer, verificamos qual está selecionado e quais não estão:


<script>

    $('[name="a"]').on('change', function(){
        $('[name="a"]:not(:checked)').next('div').hide();
        $('[name="a"]:checked').next('div').show();
    }).change()

</script>

Espero ter ajudado abraço

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software