Ir para conteúdo

Arquivado

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

  • 0
prozyn10

Travar ou liberar checkbox

Pergunta

Boa tarde galerinha sou novo no fórum e tenho uma duvida

tenho 2 checkbox código abaixo

Spoiler
                    </div>
                    <div class="col-md-4">
                        <label class="el-switch"><input type="checkbox" id="<?php echo $op_marca;?>" name="<?php echo $op_marca;?>" onchange="myClass('<?php echo $op_marca;?>');" value="0,00">
                        <span class="el-switch-style"><font size="1px;">&nbsp;OK</font></span>
                        Marca (R$ 1.455,80)
                        </label>
                    </div>  
                    <div class="col-md-3">
                 <label class="el-switch">
                    <input type="checkbox" id="<?php echo $op_logo;?>" name="<?php echo $op_logo;?>" onchange="myClass('<?php echo $op_logo;?>');" value="400,00" data-toggle="collapse" data-target="#logo">
                    <span class="el-switch-style"><font size="1px;">&nbsp;OK</font></span>
                    Logotipo (R$ 400,00)
                </label>
                    </div>

Porem eu quero travar o segundo checkbox para que o usuario só possa ativar ele quando a primeira opção estiver ativa

alguem tem alguma ideia de como fazer isso ? procurei no google mas não achei

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Olá tudo bem ? 

Antes de mais bem vindo!!

 

Sobre a tua duvida, podes usar a propriedade "disable"...

Um pequeno exemplo que fiz, testa e vê se é isto que queres ?: 

<!DOCTYPE html>
<html>
<body>

CheckBox teste <input type="checkbox" id="teste" >
  
<button onclick="desativa">Desativar CheckBox</button>

<script>
function desativa() {
  document.getElementById("teste").disabled = true;
}
</script>

</body>
</html>

 

 

No teu caso em especifico a minha sugestão seria,

1-> Ver se o utilizador marcou a checkBox pretendida 

 

2-> Se sim, chamar uma função que ative a segunda CheckBox

 

O codigo para ver se a primeira CheckBox foi selecionada pode ser algo como isto, na verdade não era preciso algo tão complexo devido a que só tens uma checkBox, mas de qualquer forma pode ajudar no futuro:

function verificarCheckBox() {
    var check = document.getElementsByName("id da checkbox"); 

    for (var i=0;i<check.length;i++){ 
        if (check[i].checked == true){ 
            // CheckBox Selecionado vamos ativar o segundo CheckBox
           document.getElementById("Id do segundo CheckBox").disabled = false;

        }  else {
           // CheckBox não selecionado, mostrar uma mensagem de erro por exemplo
        }
    }
}

 

Esta função tem de ser chamada no evento  'onclick' sdf

Por exemplo:

<input type="checkbox" id="teste" disable=true onclick="verificarCheckBox()" >

 

 

Uma coisa importante

 

A segunda checkBox tem de estar por predefinição desactivada para isso basta ter a propriedade "disable = true", por exemplo :

<input type="checkbox" id="teste" disable=true >

 

 

 

 

 

 

 

Espero que tenha ajudado,

um abraço e boa sorte !!

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por helkton
      iai galera, tenho uma pendenga e não consigo achar nada pra suprir minha dúvida rsss
      seguinte....
       
      Tenho um cardápio Online onde tenho os devidos ITENS sendo abertos em uma janela modal e nesta janela tenho os devidos ITENS EXTRAS em um checkbox que o usuario clicam e adicionam
      esta é minha lista de ADICIONAIS EXTRAS QUE PEGO DO BANCO DE DADOS 
       
      <label style="border:0px red solid;font-size:1em;width:90%;text-align:left;padding:0px;margin-left:2em;" onclick="somar()"> <input style="height:23px;width:23px;cursor:pointer" type="checkbox" class='limited<?php echo $resultExtrasDelivery->idExtraDelivery?>' id="valorItemExtra" name="idExtraSelects[]" value="<?php echo $resultItensExtras->valorItemExtra?>" > <span style="cursor:pointer"><?php echo $resultItensExtras->nomeItemExtra?> <span style="font-size:0.7em;color:#DD2C00"> <small> <?php if($resultItensExtras->valorItemExtra == '0.00'){echo'';}else{echo '+R$ '.$resultItensExtras->valorItemExtra.'<input type="text" value="'.$resultItensExtras->valorItemExtra.'">';}?></small> </span> </span> </label> ela vem tipo assim
      AcréscimoTradicional - Escolha até 3 opções
      BACON 1,00
      CALABRESA 1,00
      MUSSARELA 1,00
      PRESUNTO 1,00
      OVO 1,00
       
      o que quero fazer é somente somar os itens clicados pelo usuario e somar com o TOTAL DO ITEM 
      tipo pegar o total do item tipo R$30,00 e ir somando com os acrescimos escolhidos
       
      <script> function somar() { // var valorItem = document.getElementById('valorItemExtra').value; var checkbox = document.getElementById('#valorItemExtra'); var total = 0; if(checkbox.checked == true){ total += checkbox.value; } document.getElementById('somar').innerHTML = total; } </script>  
    • Por Sapinn
      Salve! Não consigo verificar se o checkbox foi marcado, isso não faz o menor sentido porquê aparentemente eu fiz tudo certo.
       
      HTML:
       <div class="mt-4 mb-3 row ">                 <label class="label_checkbox">Adicionar customização                   <input type="checkbox" id="checkbox" name="custom_shirt">                   <span class="checkmark"></span>                 </label>               </div>  
      JAVASCRIPT:
       let checkedCustomize = document.getElementById("checkbox");  if(checkedCustomize.checked){     alert("Checkbox marcado");  }else{      console.log("checkbox não marcado");  }  
    • Por Caio Vargas
      Meus amigos estou com um problema que não consigo resolver as vezes e coisas simples mais não encaixa na minha cabeca eu tenho multiplos checkbox onde cada um tem o valor porem eu tô salvando isso em uma tabela única separado por vírgula não sei se isso e correto mais na hora de recuperar e colocar como checado não vai pq ele retorna os valores tudo jundo mesmo dando um explode não vai 
    • Por tony_lu
      Olá pessoal quero colocar um campo checkbox de aceito os termos de uso, mas não estou conseguindo validar este campo para enviar
      o form apenas se este campo por marcado podem me ajudar?
    • Por carlosmassam
      Bom dia a todos. Eu tenho o seguinte código em HTML
      <input type="checkbox" id="checkmarcacao1" name="checkmarcacao1" value="checkmarcacao1"> <input type="time" id="hora101" name="hora101" disabled="disabled"> E tenho o seguinte código em Javascript
      <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script> $(document).ready(function () { $('input[name=checkmarcacao1]').change(function() { if ($(this).is(':checked')) { $('input[name=hora101]').removeAttr('disabled'); } else { $('input[name=hora101]').attr('disabled',true); } }); }); </script> Esse meu código em Javascript faz o seguinte: Quando meu Checkbox está marcado, ele habilita o input time. Se eu desmarcar o checkbox, o input time é desabilitado.
      Acontece que se eu marcar o checkbox, escrever no input time, por exemplo: 12:34, depois desmarcar o checkbox o  input time fica desabilitado porém o valor 12:34 ainda fica escrito nele.
      Eu gostaria de saber como apagar o valor do input time quando o checkbox estiver desmarcado. 
       
      Quem quiser testar o código segue o link: https://jsfiddle.net/o8f3zvqu/
×

Informação importante

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