Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Creazione nodi

  1. #1

    Creazione nodi

    Ciao a tutti ragazzi...

    ho questo html:

    codice HTML:
    <body onload="setta()">
    <div id="contenitore"></div>
    
    </body
    e questo js:

    codice:
    var titolo=null;
        var arraySpecifiche=[];
        var ultimo=0;
        var tabella=[];
        var riga=[];
        var col1=[];
        var col2=[];
        var col3=[];
        var tit=false;
        var setting=[];
        
        var piu=document.createElement('div');
        piu.setAttribute('id','aggiungi');
        piu.setAttribute('onclick','setta()');
        piu.innerHTML="+";
        
        var meno=document.createElement('div');
        meno.setAttribute('id','meno');
        meno.innerHTML="-";
        
        function setta()
        {
            tabella[0]=document.createElement('table');
            riga[ultimo]=document.createElement('tr');
            col1[ultimo]=document.createElement('td');
            col2[ultimo]=document.createElement('td');
            col3[ultimo]=document.createElement('td');
            
            titolo=document.createElement('input');
            titolo.setAttribute('type','text');
            titolo.setAttribute('id','titolo');
            titolo.setAttribute('value','');
            
            var specifica=document.createElement('input');
            specifica.setAttribute('type','text');
            specifica.setAttribute('id','specifica');
            specifica.setAttribute('value','');
            
            var valore=document.createElement('input');
            valore.setAttribute('type','text');
            valore.setAttribute('id','valore');
            valore.setAttribute('value','');
            
            arraySpecifiche[ultimo]=[specifica, valore];
            
            if(tit==false)
            {
                document.getElementById('contenitore').appendChild(titolo);
                tit=true;
            }
            document.getElementById('contenitore').appendChild(tabella[0]);
            
            crea();
            ultimo++;
        }
        
        function crea()
        {
            tabella[0].innerHTML="";
            for(i=0;i<=ultimo;i++)
            {
                tabella[0].appendChild(riga[i]);
                riga[i].appendChild(col1[i]);
                riga[i].appendChild(col2[i]);
                riga[i].appendChild(col3[i]);
                col1[i].appendChild(arraySpecifiche[i][0]);
                col2[i].appendChild(arraySpecifiche[i][1]);
                if(i==ultimo)
                {
                    col3[i].appendChild(piu);
                }
                else
                {
                    col3[i].appendChild(meno);
                }
            }
        }
    esempio.jpg<--- Questo è l'output onload di body
    Ogni volta che clicco sul più dovrebbero comparire altre due input

    esempio2.jpg il più deve essere sempre accanto all'ultima coppia di input, e in quelle prima deve essserci un meno.... il problema è che lo fa solo per il primo click sul +

    esempio3.jpg aiuto per favore!!!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Molto velocemente potrebbe essere perché crei ID dei campi tutti uguali, ma non sono sicuro e comunque mi sembra complicata la tua soluzione vedi se puoi rimediare con questa
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    grazie per la risposta! purtroppo però quello che cercavo io era qualcosa di un po' più complesso, e sono riuscita a farlo funzionare. lo script che mi hai proposto funziona alla perfezione, solo che è un last in first out, e io invece dovevo avere la possibilità di scegliere quale elemento della pila avrei dovuto eliminare... è per questo che ho usato gli array. grazie mille comunque

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.