nic96
12-11-2009, 09:11
Salve a Tutti,
premetto che sono alle prime armi con il javascript.
Sto cercando di fare un programmino che mi permetta di aggiungere e cancellare dinamicamente righe ad una tabella.
ogni riga e' identificata da "id"+n e "name"+n e l'evento onchange richiama una funzione a cui passo il relativo indice, ricalcola(n);
quando cancello una riga vado a decrementare l'indice e modifico, id, name e gli eventi onchange/onclick delle righe successive con il seguente codice:
for (cont=id;cont<=num_righe-1;cont++)
{
document.getElementById('link'+(cont+1)).onclick = function(){cancellaRiga(cont);}
document.getElementById('FEP'+(cont+1)).onchange = function(){ricalcola(cont);}
document.getElementById('qty_ins'+(cont+1)).onchange = function(){ricalcola(cont);}
document.getElementById('FEP'+
cont+1)).setAttribute('name','FEP'+cont);
document.getElementById('FEP'+(cont+1)).setAttribute('id','FEP'+cont);
-
-
-
-
ecc.
}
tabella.deleteRow(id);
cosi' facendo pero' vengono modificati correttamente ID e NAME con il relativo indice (FEP1, FEP2....FEPn) ma gli eventi ONCHANGE e ONCLICK alla fine hanno tutti lo stesso indice (n+1).
Ad esempio se la tabella ha 5 righe e cancello la terza ottengo la seguente situazione:
FEP1 onchange=ricalcola (1)
FEP2 onchange=ricalcola (2)
FEP3 onchange=ricalcola (5)
FEP4 onchange=ricalcola (5)
dove sbaglio?
help pls
Grazie in anticipo
Saluti
nic96
premetto che sono alle prime armi con il javascript.
Sto cercando di fare un programmino che mi permetta di aggiungere e cancellare dinamicamente righe ad una tabella.
ogni riga e' identificata da "id"+n e "name"+n e l'evento onchange richiama una funzione a cui passo il relativo indice, ricalcola(n);
quando cancello una riga vado a decrementare l'indice e modifico, id, name e gli eventi onchange/onclick delle righe successive con il seguente codice:
for (cont=id;cont<=num_righe-1;cont++)
{
document.getElementById('link'+(cont+1)).onclick = function(){cancellaRiga(cont);}
document.getElementById('FEP'+(cont+1)).onchange = function(){ricalcola(cont);}
document.getElementById('qty_ins'+(cont+1)).onchange = function(){ricalcola(cont);}
document.getElementById('FEP'+
cont+1)).setAttribute('name','FEP'+cont);
document.getElementById('FEP'+(cont+1)).setAttribute('id','FEP'+cont);
-
-
-
-
ecc.
}
tabella.deleteRow(id);
cosi' facendo pero' vengono modificati correttamente ID e NAME con il relativo indice (FEP1, FEP2....FEPn) ma gli eventi ONCHANGE e ONCLICK alla fine hanno tutti lo stesso indice (n+1).
Ad esempio se la tabella ha 5 righe e cancello la terza ottengo la seguente situazione:
FEP1 onchange=ricalcola (1)
FEP2 onchange=ricalcola (2)
FEP3 onchange=ricalcola (5)
FEP4 onchange=ricalcola (5)
dove sbaglio?
help pls
Grazie in anticipo
Saluti
nic96