Ir ao conteúdo
  • Cadastre-se
Joao Cortat

Javascript botao checkbox nao volta apos clicado (usando função função "if")

Recommended Posts

Bom dia,

 

Preciso fazer uma tabela aonde dependendo da marcação outras são desativadas.

consegui usando as informações disponibilizadas pelo fórum chegar ao um código q faz isso.

 

o problema é que após eu desmarcar a opção as outras nao podem mais ser marcadas.

Ex-> ao marcar "segunda", terça e quarta são desabilitados. porém se eu quiser voltar e desmarcar segunda para marcar teça ou quarta, não posso mais. 

tenho pouca experiencia nessa área, estou ajudando um amigo.

 

se alguém souber como fazer para corrigir isso agradeço muito. 

 

segue o código:

<form>
<form id="MODALIDADES">
<table class="tg">
  <tr>
    <th class="tg-baqh"><b>MODALIDADES <b></th>
    <th class="tg-baqh"><b>SEGUNDA<b></th>
    <th class="tg-baqh"><b>TERÇA<b></th>
    <th class="tg-baqh"><b>QUARTA<b></th>
    <th class="tg-baqh"><b>QUINTA<b></th>
    
  </tr>
    <td class="tg-dzk6"><b>JUDO I <font size="1">(SEGUNDAS E QUARTAS)</font><b></td>
    <td><center> <input type='checkbox' name='SEGUNDA' id='SEGUNDA' value='1' onclick="teste2(this);" /></td>
    <td><center> <input type='checkbox'name='TERÇA' id='TERÇA' value='1' onclick="teste2(this);" /></td>
    <td><center> <input type='checkbox' name='QUARTA' id='QUARTA' value='1' onclick="teste2(this);" /></td>
    <td><center> <input type='checkbox' name='QUARTA' id='QUINTA' value='1' onclick="teste2(this);" /></td>
 </tr>
 <td class="tg-dzk6"><b>CAPOEIRA <font size="1">(SEGUNDAS E QUARTAS)</font><b></td>
    <td><center> <input type='checkbox' name='SEGUNDA II' id='SEGUNDA II' value='1' onclick="teste2(this);" /></td>
     <td><center> <input type='checkbox' name='TERÇA II' id='TERÇA II' value='1' onclick="teste2(this);" /></td>
    <td><center> <input type='checkbox' name='QUARTA II' id='QUARTA II' value='1' onclick="teste2(this);" /></td>
    <td><center> <input type='checkbox' name='QUINTA II' id='QUINTA II' value='1' onclick="teste2(this);" /></td>

</table><center>
<script language="javascript">


</script>
<script language="javascript">

function teste2(obj)
{    
    if (obj.checked == true) 
    {
         if (obj.id == 'SEGUNDA')
        {
            document.getElementById('TERÇA').disabled = true;
            document.getElementById('SEGUNDA II').disabled = true;        
        }
    }
 
}
</script>
</form>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Joao Cortat Olá, primeiramente seja bem vindo em nosso Clube do Hardware.

 

Não cheguei a analisar seu código todo, mas vi que você usou espaços quando definiu as IDs. Jamais use espaço. Coloque um underline ou tudo junto.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Há alguns pequenos erros no teu html. As tags b precisam ser fechadas, então, <b></b>. As tags center também precisam ser fechadas. As tags td precisam estar dentro de tags tr. atributos no html não podem conter caracteres especiais nem espaços, único que aceita isso é o value dos campos input, textarea.

<form>
<form id="MODALIDADES">
<table class="tg">
  <tr>
  <th class="tg-baqh"><b>MODALIDADES </b></th>
  <th class="tg-baqh"><b>SEGUNDA</b></th>
  <th class="tg-baqh"><b>TERÇA</b></th>
  <th class="tg-baqh"><b>QUARTA</b></th>
  <th class="tg-baqh"><b>QUINTA</b></th>
    
  </tr>
  <tr>
  <td class="tg-dzk6"><b>JUDO I <font size="1">(SEGUNDAS E QUARTAS)</font></b></td>
  <td><center> <input type='checkbox' name='SEGUNDA' id='segunda' value='1' onclick="teste2(this);"></center></td>
  <td><center> <input type='checkbox'name='TERÇA' id='terca' value='1' onclick="teste2(this);" /></center></td>
  <td><center> <input type='checkbox' name='QUARTA' id='quarta' value='1' onclick="teste2(this);" /></center></td>
  <td><center> <input type='checkbox' name='QUARTA' id='quinta' value='1' onclick="teste2(this);" /></center></td>
 </tr>
 <tr>
 <td class="tg-dzk6"><b>CAPOEIRA <font size="1">(SEGUNDAS E QUARTAS)
 </font></b></td>
 
 <td><center> <input type='checkbox' name='SEGUNDA II' id='segunda_2' value='1' onclick="teste2(this);" /></center></td>
 <td><center> <input type='checkbox' name='TERÇA II' id='terca_2' value='1' onclick="teste2(this);" /></center></td>
 <td><center> <input type='checkbox' name='QUARTA II' id='quarta_2' value='1' onclick="teste2(this);" /></center></td>
 <td><center> <input type='checkbox' name='QUINTA II' id='quinta_2' value='1' onclick="teste2(this);" /></center></td>
 </tr>

</table>
$(document).on("click", "input", function(){
	var e = $(this);
  	if($(e).is(":checked")) {
    	$("table input").attr("disabled", true)
      $(e).removeAttr("disabled")
    } else {
    	$("table input").removeAttr("disabled")
    }
})

Confere o exemplo aqui https://jsfiddle.net/5srktn5y/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×