Migliorare la funzione mostra/nascondi righe multiple

il_betto

Utente Attivo
23 Mar 2007
42
0
0
Ciao a Tutti,
nella mia pagina html ho una tabella che contiene righe con contenuto in italiano ..
e righe con contenuto in inglese. ...

Guardando in internet e facendo alcuni aggiustamenti ho creato una funzione "toogle" che, a seconda di quando uno schiaccia il pulsante con bandiera italiana o inglese,
mi screma le righe della tabella e mi fa vedere cosi' il contenuto tutto in italiano o tutto il contenuto in inglese.
Tutto funziona bene !!!

Ho scritto perche' volevo chiedere se si poteva migliorare il codice in quanto il fatto di vedere ripetuta la stessa funzione 2 volte non mi piace ...

Grazie mille in anticipo !!!
HTML:
<html>
<head>
<script type="text/javascript">
function toggle(name) {
tr=document.getElementsByTagName('tr')
for (i=0;i<tr.length;i++){
if (tr[i].getAttribute(name)){
if (tr[i].style.display=='none'){tr[i].style.display = '';}
else {tr[i].style.display = 'none';}
}
}
}
//
function toggle(nome) {
tr=document.getElementsByTagName('tr')
for (i=0;i<tr.length;i++){
if (tr[i].getAttribute(nome)){
if (tr[i].style.display=='none'){tr[i].style.display = '';}
else {tr[i].style.display = 'none';}
}
}
} 
</script>
</head>

<body onload="toggle('name');">
<table>
<tr nome="riga_i">
<td>REQUISITI RELATVI AL SERVIZIO</td>
<td> </td>
<td><input type="button" onclick="toggle('nome');toggle('name');" style="background-image: url(../images/flag_uk.jpg); background-color:Transparent;" /></td></tr>
<tr name="row_e">
<td> </td>
<td>REQUIREMENTS RELATED TO THE SERVICE</td>
<td><input type="button" onclick="toggle('name');toggle('nome');" style="background-image: url(../images/flag_italy.jpg); background-color:Transparent;" /></td></tr>
<!-- ... -->
</table></html>

Ho provato un abbellimento in questo modo ma mi da' errore:
HTML:
<html>
<head>
<script type="text/javascript">
function toggle(this) {
if (this=='nome' || this=='name'){ tr=document.getElementsByTagName('tr')
for (i=0;i<tr.length;i++){
if (tr[i].getAttribute(this)){ if (tr[i].style.display=='none'){tr[i].style.display = '';}
else {tr[i].style.display = 'none';}
}
}
}
} 
</script>
</head>
 
Ultima modifica di un moderatore:
Grazie all' aiuto di una persona esterna,
queste sono le migliorie apportate al codice: 0:)
HTML:
<html>
<head>
<script type="text/javascript">

function toggle(val) 

{
   //alert('val '+val);
   tr=document.getElementsByTagName('tr')
   
   for (i=0;i<tr.length;i++)
    {
       if (tr[i].getAttribute(val))
        {
  
 		 if (tr[i].style.display=='none')
		 {
			tr[i].style.display = '';
		 }
		 else 
		 {
			tr[i].style.display = 'none';
		 }
	}
    } 

} 
</script>



</head>

<body onload="toggle('name');">
<table border="1">
<tr nome="riga_i">
<td>REQUISITI RELATVI AL SERVIZIO</td>
<td> </td>
<td><input type="button" onclick="toggle('nome');toggle('name');" style="background-image: url(../images/flag_uk.jpg); background-color:Transparent;" /></td></tr>
<tr name="row_e">
<td> </td>
<td>REQUIREMENTS RELATED TO THE SERVICE</td>
<td><input type="button" onclick="toggle('name');toggle('nome');" style="background-image: url(../images/flag_italy.jpg); background-color:Transparent;" /></td></tr>

</table>
</html>
 
Ultima modifica di un moderatore:

Discussioni simili