Ir para conteúdo
  • 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

  • 0

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

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

  • Conteúdo Similar

    • Por rxmarti
      Saudações, sou novo no forum, mas não em pesquisas e este tem me ajudado muito em meus estudos, mas esbarrei em um problema e não estou encontrando uma solução que eu entenda seu funcionamento, o problema:
       
      O form que estou desenvolvendo em PHP possuí alguns campos checkbox e através de jvs eu consigo habilitá-los ou não por opção sim ou não (radio + onclick):
      <script>
      function enbl(form)
       {
          form.x_daye[0].disabled = false;
          form.x_daye[1].disabled = false;
          form.x_daye[2].disabled = false;
       }
       function disbl(form)
       {
          form.x_daye[0].disabled = true;
          form.x_daye[1].disabled = true;
          form.x_daye[2].disabled = true;
       }
                          
      </script>";  
      <input type=radio name=v_mandaemail value=NAO onClick=disbl(this.form)>NAO
      <input type=radio name=v_mandaemail value=SIM onClick=enbl(this.form)>SIM
           
      <input type=checkbox id=x_daye name=v_exc_day[] value=arq1>arq1
      <input type=checkbox id=x_daye name=v_exc_day[] value=arq2>arq2
      <input type=checkbox id=x_daye name=v_exc_day[] value=arq3>arq3
      ...
       
      Bom, isso está funcionando, mas se houver mais arquivos(arq*) e esta quantidade for listada em um  "while" , como posso fazer que a mesma função oriente qualquer checkbox listado.
       
      Muito grato
       
      RM
       
       
    • Por Rafael Freitas
      Fala galera!
      Estou travado em uma parte do projeto que estou fazendo, quem puder me ajudar, desde já agradeço.
      Seguinte,  eu tenho alguns dados gravados em uma tabela no banco. Eu recupero estes dados exibindo em uma tabela o nome do parametro "p_descricao" e um checkbox do lado, segue abaixo:
      <?php $max = 200; if(!$pagina){ $pagina = 1; } $inicio = $pagina -1; $inicio = $inicio * $max; $consulta = ("SELECT * FROM parametros WHERE p_tipo_analise='MICROBIOLOGICA'"); $p_id = $_GET["p_id"]; $query = mysql_query("$consulta LIMIT $inicio,$max"); $todos = mysql_query($consulta); $total = mysql_num_rows($todos); $tp = $total / $max; $regLinha = 4; $i = ceil($max / $regLinha); $j = 1; $z = 0; echo " <table width=100% class='tabela_parametros_itens' border=1><tr> "; while($x = mysql_fetch_array($query)){ echo "<td> <input type='checkbox' name='parametro' value='" .$x[p_descricao]."' checked> " .$x[p_id]." - " .$x[p_descricao]."</td>"; $z++; if($z == $regLinha and $j < $i){ echo "</tr><tr>"; $z = 0; $j++; } if($z == $regLinha and $j == $i){ echo "</tr>"; } } echo "</table>"; Eu coloquei checked para todos estarem marcados, até aí tudo certo. O que acontece é que quando eu cadastro, ele só grava no banco, o último registro, ou então se eu desmarco todos e deixo somente 1 marcado, aí ele grava certo.
       
      O que eu queria era gravar todos os registros que estiverem marcados com a checkbox e não só 1.
       
      Conto com a ajuda de vocês.
       
      Abraço.
    • Por Fábão Ramos
      Boa tarde Pessoal!! estou com um problema que acho que sou o único com este mesmo problema kkkk pois procurei em tudo que foi lugar um esclarecimento de como resolver e nada.
      Bom vamos ao que importa.
      tenho um formulário em metodo post que será auto preenchido depois que eu conseguir aplicar o que tenho a duvida.
       
      <form action="caixa.php" method="post">
      <B>Selecione a Refeição:</B><br>
      <input type=checkbox name="pratos[]" value="Feijão"> Feijão<br>
      <input type=checkbox name="pratos[]" value="Arroz"> Arroz<br>
      <input type=checkbox name="pratos[]" value="Fritas"> Fritas<br>
      <input type=checkbox name="pratos[]" value="Farofa"> Farofa<br>
      <input type=checkbox name="pratos[]" value="Bife"> Bife<br>
      <input type=checkbox name="pratos[]" value="frango"> frango<br>
      <input type=checkbox name="pratos[]" value="ovo"> ovo<br>
      <input type=checkbox name="pratos[]" value="Churrasco"> Churrasco<br><BR>
      <input type=submit>
      </form>
      <?php
      $pratos = isset($_POST['pratos']) ? $_POST['pratos'] : '';    
      if(!$pratos!="Registrar")
      {
      // Verifica se usuário escolheu algum número
      if(isset($_POST["pratos"]))
      {
         foreach($_POST["pratos"] as $complemento)
          {
              echo "- " . $complemento . "<BR>";
          }
          
      }
      else
      {
          echo "Você não escolheu Seu Prato ainda!<br>";
      }}
      ?>
      esta meio zuado pq sou bem novato mais esta funcionando o resultado do "checkbox" esta vindo só que separadamente preciso unir os dados pois a aplicação dele será imput em sql server para que os pedidos ja saiam no monitor dentro da cozinha com as opções escolhidas sei que não é muito difícil colocar " $complemento[0].$complemento[1].$complemento[2] etc.. pelo que vi seria mais ou menos assim que eu agruparia o valor mais existe um problema o Form será auto preenchido por uma busca em sql server pois existe feijão preto feijão branco feijão mulatinho etc... e ter que preencher isso tudo sem nem ao menos saber se vai ter este prato no dia é bem inviável e a qtd de linhas será absurda então preciso agrupar o resultado para aplicar o envio do mesmo para o sql server indiferente das opções escolhidas se puderem me ajudar agradeço.
       
      este é o mesmo arquivo esta mostrando o resultado onde cadastra só para ficar mais rápido o desenvolvimento caixa.php
    • Por kelvinferraz
      Boa tarde pessoal,
       
      Estou com uma dúvida e dificuldade para realizar algo que talvez seja simples para muitos, eu gostaria de gerar uma tabela numerada de 1...X porém somente quando o usuario selecionar um checkbox ele irá assumir um número, por exemplo

       
      <tr> <td class="border border-dark"> numeracao_automatica </td> <td class="border border-dark"> '. $opcaovindadocheckbox .' </td> </tr> Caso o usuario nao selecione nenhuma checkbox ele não irá atribuir nenhum número, outra coisa é se ele selecionar aleatoriamente uma lista do chekbox, ele ir numerando conforme a seleção
       
      Se alguém tiver alguma ideia ou maneira simples ou dificil de resolver ficarei extremamente grato.
       
      Obrigado a todos!
    • Por marcossantana10
      Olá, minha dúvida é a seguinte:
       
      Eu faço um cadastro de médico e cada médico tem sua lista de especialidades, que é preenchida no ato do cadastro do médico. Até ai tudo bem..
       
      O problema é que na hora de fazer a página de Editar o registro desse médico, eu preciso listar todas as especialidades que eu tenho já cadastradas no sistema para caso o cara deseje inserir uma nova especialidade pra aquele médico. Eu consigo listá-las numa boa dentro do formulário de edição de registro, mas, gostaria de deixar o checkbox marcado com aquelas que ele já atende, conforme exemplo:
       

       
      Porém, esse registro do exemplo acima tem uma lista com duas especialidades (Urologia e Cardiologia), mas o checkbox só tá marcando uma, como se não tivesse percorrendo o vetor que armazena os resultados.
       
      Segue código:

      Consultas a tabela de todas as especialidades e a tabela das especialidades que já estão contidas no cadastro daquele médico
       
      E aqui o HTML/PHP:

×

Informação importante

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