Ciao a tutti,
ho una tabella html con due righe: dovrei fare in modo che premendo un pulsante le due righe si scambino di posto. Si può fare?
Grazie mille!
Matteo
Ciao a tutti,
ho una tabella html con due righe: dovrei fare in modo che premendo un pulsante le due righe si scambino di posto. Si può fare?
Grazie mille!
Matteo
prevedi di poter avere sempre e solo 2 righe?
No, in realtà le righe potrebbero essere in generale n. Avevo scritto due righe per semplificare.
Allora il problema e' identificare le due righe... fornisci qualche altra informazione e, magari, un pochino del sorgente della pagina.
ciao
Il guaio per i poveri computers e' che sono gli uomini a comandarli.
Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
Consultate la discussione in rilievo: script / discussioni utili
Usate la funzione di Ricerca del Forum
ho scritto un esempio che sfrutta un po' di metodi del DOM
(imparando anche ad ovviare ad un comportamento bizzarro di mozilla che considera nodi spazi, tab e a capo nel documento!)
codice:<script language="JavaScript" type="text/javascript"> <!-- function scambia_riga(quale){ if(!document.getElementById || !document.getElementsByTagName) return; // riferimento al tbody corretto var tbd=document.getElementById('tabella').getElementsByTagName('tbody')[0]; // riferimento al tr di riferimento var riga=quale; while(riga.tagName.toLowerCase()!='tr'){ riga=riga.parentNode; } // riferimento al prossimo tr // [ moz & Co. considerano nodi anche gli a capo, tab e spazi nel documento! ] var proxriga=riga; while((proxriga=proxriga.nextSibling)){ if(proxriga.nodeType!=3) break; } // se e' gia' ultima riga if(proxriga==null){alert('non ci sono righe successive');return;} // clona il prossimo tr var copia=proxriga.cloneNode(true); // inserisce il clone prima di quello di partenza tbd.insertBefore(copia, riga); // rimuove il prossimo tr tbd.removeChild(proxriga); } //--> </script>codice:<table id="tabella" style="border:1px solid #f00"> <tbody> <tr> <td>contenuto 1</td> <td>scambia con successiva</td> </tr> <tr> <td>contenuto 2</td> <td>scambia con successiva</td> </tr> <tr> <td>contenuto 3</td> <td>scambia con successiva</td> </tr> <tr> <td>contenuto 4</td> <td>scambia con successiva</td> </tr> </tbody> </table>