Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Scambio righe

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415

    Scambio righe

    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

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prevedi di poter avere sempre e solo 2 righe?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415
    No, in realtà le righe potrebbero essere in generale n. Avevo scritto due righe per semplificare.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    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

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    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>

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.