Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados,
estou com um probleminha...
Tenho um Checkbox que ao ser marcado ele apresenta uma div e ao desmarcar ele apresenta uma outra div.
Está funcionando até que bem, porém só funciona após o 3º click. ?!?!?!
Alguém sabe como resolver isso?
E uma outra dúvida, essas funções não funcionam se estiver utilizando uma class no checkbox? Ex: <input type="checkbox" name="mp_sj" id="mp_sj" onclick="mostrar(this)" **class="js-switch"**>
<script>
function mostrar(){
$("#mp_sj").click(function(e) {
if ($(this).is(':checked')) { //Retornar true ou false
$('.minhaDiv1').show();
$('.minhaDiv2').hide();
}
else {
$('.minhaDiv1').hide();
$('.minhaDiv2').show();
}
});
};
</script>
<style>
.minhaDiv1{display:none;}
.minhaDiv2{display:block;}
</style>
<input type="checkbox" name="mp_sj" id="mp_sj" onclick="mostrar(this)"/>
<div class="minhaDiv1">
OK1
</div>
<div class="minhaDiv2">
OK2
</div>
Agradeço desde já a atenção de todos!Olá /profile/213374-douglas-juli%C3%A3o/?do=hovercard" data-mentionid="213374" href="/profile/213374-douglas-juli%C3%A3o/" rel="">@Douglas Julião, obrigado pela resposta...
mas não funcionou com o exemplo que você passou.
Precisa dar uma tratada melhor, mas acho que já ajuda
<input type="checkbox" name="mp_sj" id="mp_sj" onclick="mostrar(this)"/>
<div id="minhaDiv1">
OK1
</div>
<div id="minhaDiv2">
OK2
</div>
<script>
function mostrar(objCheck){
if (objCheck.checked) {
$('#minhaDiv1').show();
$('#minhaDiv2').hide();
}
else {
$('#minhaDiv1').hide();
$('#minhaDiv2').show();
}
};
</script>Aqui está funcionando:
https://jsfiddle.net/douglasjuliao/ehqsv4u6/
e sobre essa: class="js-switch"
Talvez essa classe esta criando um estilo para o checkbox, nesse caso tenta trocar o click por change.
tira o onclick do input:
// OU APENAS FAÇA ISSO