Ir para conteúdo

Arquivado

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

ndias

ajuda com javascript

Recommended Posts

tenho divs filho dentro de uma div pai...

tenho inputs checkbox dentro de cada div filho

 

<div id='pai'>

    <div id='filho1'>

         <input id='1' type="checkbox">

         <input id='2' type="checkbox">

         <input id='3' type="checkbox">

    </div>

    <div id='filho2'>

         <input id='a' type="checkbox">

         <input id='b' type="checkbox">

         <input id='c' type="checkbox">

    </div>

    <div id='filho3'>

         <input id='x' type="checkbox">    

         <input id='y' type="checkbox">

         <input id='z' type="checkbox">

    </div>

</div>

 

preciso percorrer cada div filho pra descobrir quem está checked e montar uma string com o id da div filho mais o valor da input checkbox...

 

exemplo:

filho1=bonito&filho2=inteligente&filho3=bastardo

 

caso esteja checked mais de um checkbox do mesmo filho, preciso da string assim:

filho1=bonito,preguiçoso,solteiro&filho2=inteligente,casado&filho3=bastardo

 

alguém pode me ajudar, por favor?

 

Obrigado,

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado pela ajuda. Já consegui!

 

<script>
function teste(){
    var params = '';
    var el = document.getElementById("pai");
    for(var e = 0; e < el.children.length; e++){
        var count = 0
        var valor = '';
        for (i = 0; i < document.getElementById(el.children[e].id).querySelectorAll('input').length; i++){
            if(document.getElementById(el.children[e].id+i).checked == true){
                var par = el.children[e].id;
                count ++;
                if(count > 1){
                    valor = valor+','+document.getElementById(el.children[e].id+i).value;
                }else{
                    valor = document.getElementById(el.children[e].id+i).value;
                }
            }
        }
        if(valor){
            if(params != par){
                var string = string+'&'+par+'='+valor;
            }else{
                var string = par+'='+valor;
            }
        }
        params = par;
    }
    alert(string.replace("undefined&", ""));
}
</script>
<body>
<div id='pai'>
  <div id='filho1'>
    <input id='filho10' type="checkbox" value="bonito" onClick="teste();">
    <input id='filho11' type="checkbox" value="simpatico" onClick="teste();">
    <input id='filho12' type="checkbox" value="divertido" onClick="teste();">
  </div>
  <div id='filho2'>
    <input id='filho20' type="checkbox" value="cheiroso" onClick="teste();">
    <input id='filho21' type="checkbox" value="inteligente" onClick="teste();">
    <input id='filho22' type="checkbox" value="solteiro" onClick="teste();">
  </div>
  <div id='filho3'>
    <input id='filho30' type="checkbox" value="casado" onClick="teste();">
    <input id='filho31' type="checkbox" value="bastardo" onClick="teste();">
    <input id='filho32' type="checkbox" value="preguiçoso" onClick="teste();">
  </div>
</div>
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Alessandro Bodão
      Fala galerinha, 
       
      Tenho um container com um título (h1) no cabeçalho do meu site, esse container ocupa metade da tela (50vw), e eu gostaria que esse título ocupasse toda a largura desse container, independente do seu tamanho ou do tamanho do monitor, de forma com que a palavra tenha exactamente o mesmo tamanho do container (vou anexar uma foto de exemplo). Já tentei todos os valores pra essa h1, como % e vw... mas nada parece fazer sentido.
       
       

    • 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 Giovanird
      Olá a todos!
      tenho varias divs com o mesmo ID e nome de classe. Preciso que a cor da div seja conforme uma escala de valores.
      Estou tentando pegar o valor pelo nome da classe, pois as divs possuem o mesmo id e não tive sucesso. Segue script:
      <div class="planos" id="1" value="74">74</div> <div class="planos" id="1" value="29">29</div> <div class="planos" id="1" value="55">55</div> <div class="planos" id="1" value="74">74</div> <div class="planos" id="1" value="63">63</div> <div class="planos" id="1" value="55">55</div> <script type="text/javascript"> var valueElement = document.getElementsByClassName('.planos').getAttribute('value'); console.log(valueElement); if (valueElement >= "70") { document.getElementsByClassName('.planos').style.backgroundColor == '#4caf50'; } else if (valueElement >= "50" && valueElement <= "69") { document.getElementsByClassName('.planos').style.backgroundColor == '#ffbc00'; } else { document.getElementsByClassName('.planos').style.backgroundColor == '#f44336'; } </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 GOD
      Quero um código div ou qualquer outra forma, para atingi esse resultado do link
       https://drive.google.com/file/d/0B8Ssi9zuKdQWMExWeVpGUXN0MlRsUzdmdGRuTFl2eU1yejB3/viewocal
       
      Para ficar nesse local.
      https://drive.google.com/file/d/0B8Ssi9zuKdQWeGZSSnVBaFBxM1FUN1hEeWdrRzhTNWI0Q01Z/view
       
      Meu objetivo é que em cada quadro da div, fique uma noticia de um site especifico, que pretendo colocar através de plugin rss.
       
       
      Enfim espero uma ajuda sobre como posso fazer isso
       
       
×

Informação importante

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