Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

arthur.kasper

Evento "Des-checar" input radio com jQuery

Recommended Posts

Boa Noite Pessoal,

Estou com uma dificuldade em pegar um evento com jQuery, quando eu desmarco um input radio.

 

tenho esse RadioGroup:

 

<div id="menu">
    <input type="radio" id="radio1" name="radio" /><label for="radio1">Home</label>
	<input type="radio" id="radio2" name="radio" /><label for="radio2">Logar-se</label>
	<input type="radio" id="radio3" name="radio" /><label for="radio3">Promoções</label>
    <input type="radio" id="radio4" name="radio"  /><label for="radio4" >Area Restrita</label>
  </div>

O ultimo input (com id='radio4') quando checado, faz uma alteração no meu layout(esconde duas div laterais na página), até ai tudo bem, fiz sem dificuldade alguma, e quando eu desmarco ele o layout tem que retornar a forma que estava antes (nesse caso, exibo as divs novamente), eu até consegui fazer isso.

 

O problema é q quando navego entre os inputs radio1, radio2 e radio3 ele sempre dá o efeito de estar retornando ao layout(fica re-exibindo as divs), mas nada deve acontecer enquanto navego entre eles, ou seja, tenho q disparar esse evento somente quando desmarco o radio4, quando saio dele... semelhante ao evento blur() quando abando o foco de um local, mas não estou conseguindo fazer isso no caso de uma "des-checagem" de um input radio.

 

Se alguém souber como tratar isso agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, ao meu ver você deveria a cada evento click() do radio fazer alguma coisa DEPOIS de fazer outra.

 

No caso, a primeiro ação a ser feita seria desfazer quaisquer modificações causadas por outro radio. E, em seguida, fazer a modificação do radio clicado.

 

Você pode agrupar todas as ações de desfazer numa função (ou método de "classe") e reutilizar código.

 

Uma outra coisa que me ocorre, embora não saiba dessa possibilidade, já que, normalmente, não se "tira" o valor selecionado de um radio, seria usar o removeAttr(), passando como parâmetro o selected, que é o responsável por selecionar um radio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.