Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
nldj

Montar string com array

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
Entre para seguir isso  

×
×
  • Criar Novo...