Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Nascondere riga con un click

    Ciao a tutti,
    dopo varie ricerche ho trovato sul forum questo esempio di Xinod in questa discussione con la quale si possono nascondere le righe di una tabella grazie alla funzione

    mostra_nascondi(id_riga)

    codice:
    <html>
    <head>
    <title>mostra/nascondi righe tabella</title>
    <style type="text/css">
    tr {display:table-row}
    </style>
    <script type="text/javascript">
    function mostra_nascondi(id_riga){
    	var IE=(window.navigator.userAgent.indexOf('MSIE')>-1)?1:0;
    	document.getElementById(id_riga).style.display=(document.getElementById(id_riga).style.display=='none')?((IE)?'block':'table-row'):'none';
    }
    </script>
    </head>
    <body>
    <table>
      <tbody>
        <tr id="riga1">
          <td>c1</td>
          <td>c2</td>
        </tr>
        <tr id="riga2">
          <td>c3</td>
          <td>c4</td>
        </tr>
      </tbody>
    </table>
    [img]admin/gif/a.gif[/img]
    
    [img]admin/gif/a.gif[/img]
    </body>
    </html>
    Visto che non hop ben capito il codice non sono riuscito a risolvere i miei problemi attuali che sono 2:

    • Come faccio per fare in modo che all'apertura della pagina le righe partano da uno stato di "nascoste" ?
    • Mettiamo che oltre alla riga io vorrei cambiare l'immagine del pulsante di apertura/chiusura come potrei fare? ad esempio sullo stato di chiuso ho un "+" e su quello di aperto un "-" ipotizzando che le iconcine si chiamino a.gif a1.gif


    Vi ringrazio da subito!
    Tu non vedrai nessuna cosa
    al mondo
    maggior di Roma...
    Io su Flashkit.com

  2. #2
    Ho risolto meno male

    codice:
    function mostra_nascondi(id_riga,i){
    	var IE=(window.navigator.userAgent.indexOf('MSIE')>-1)?1:0;
    	document.getElementById(id_riga).style.display=(document.getElementById(id_riga).style.display=='none')?((IE)?'block':'table-row'):'none';
    	if(document.all['riga'+i].style.display== "none") {
    		// chiuso
    		document.all['piu'+i].style.display = "block"; 
    		document.all['meno'+i].style.display = "none"; 
    	} else {
    		// aperto
    		document.all['piu'+i].style.display = "none"; 
    		document.all['meno'+i].style.display = "block"; 
    	}
    }
    
    // questa la richiamo sull'onload del tag body
    function resettaRighe(){
    	for(i=0;i<15;i++){
    		document.all['riga'+i].style.display = "none"; 
    		document.all['meno'+i].style.display = "none"; 
    	}
    }
    Grazie lo stesso!!!

    Ci sono seri problemi di compatibilità a prima vista?
    Tu non vedrai nessuna cosa
    al mondo
    maggior di Roma...
    Io su Flashkit.com

  3. #3
    Mettendo online la pagina ho un piccolo problema, infatti vedo prima tutta la tabella aperta e poi la vedo richiudersi...

    io faccio così:

    codice:
    ...
    
    <script type="text/javascript">
    function resettaRighe(){
    	for(i=0;i<15;i++){
    		document.all['riga'+i].style.display = "none"; 
    		document.all['meno'+i].style.display = "none"; 
    	}
    }
    </script>
    
    ...
    
    <body onLoad="resettaRighe();" bgcolor="#FFFFFF">
    
    ...
    Come faccio per fare in modo che le righe in questione vengano inibite REALMENTE all'apertura della pagina?
    Tu non vedrai nessuna cosa
    al mondo
    maggior di Roma...
    Io su Flashkit.com

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.