Newsgroup: it.comp.lang.javascript
Titolo: Come rimuovere tutte le righe di dettaglio (Div) da una pagina Html

Ciao a tutti.
Ho questo codice Html in cui, tramite due immagini di fianco a ciasuna riga,
espando o comprimo il dettaglio dei record.
Per espandere o collassare il dettaglio uso questo codice javasctript
(trovato su Internet):
function toggle(gruppo) {
 var newDisplay = document.getElementById('T' + gruppo).style.display;
 // First toggle the summary line
 if (newDisplay == "none") { document.getElementById('T' +
gruppo).style.display = ""; }
 else
 { document.getElementById('T' + gruppo).style.display = "none"; }
 // Now toggle all detail lines....
 // First get a collection of detail records
 var aInput=document.getElementsByName('D' + gruppo);
 for (var i = 0; i < aInput.length; i++) {
  aInput[i].style.display = newDisplay;
 }
}
La mia domanda è:
come faccio con un bottone apposito per espandere tutti i record di
dettaglio o a collassarli tutti ?
Per semplicità non ho allegato tutto il codice della tabella Html ma ci sono
14 righe di totale (VARIABILI) e per
ciasun totale N righe di dettaglio (sempre variabili).
Bisognerebbe fare un ciclo sulle varie DIV ma per me è arabo !
GRAZIE IN ANTICIPO.
Codice Html della tabella:
<table width=1060 cellpadding=0 cellspacing=0 border=1 rules="groups">
<thead>
<tr>
<td class="rigasenzabordobianca" width=10 bgcolor="black"></td>
<td class="rigasenzabordobianca" width=130 bgcolor="black"
align=left><b>Linea Prodotto</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Gennaio</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Febbraio</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Marzo</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Aprile</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Maggio</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Giugno</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Luglio</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Agosto</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Settembre</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Ottobre</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Novembre</b></td>
<td class="rigasenzabordobianca" width=70 bgcolor="black"
align=right><b>Dicembre</b></td>
<td class="rigasenzabordobianca" width=80 bgcolor="black"
align=right><b>Totale</b></td>
</tr>
</thead>
<!--inizio dettaglio dell'articolo-->
<tr id="D1" style="display:none" bgcolor="#FFFFCC">
<td class="rigasenzabordo" width=10 onclick="toggle('1')"><img
src="/cgiexe/collapse.gif" alt="nascondi il dettaglio articoli">
</td>
<td class="rigasenzabordo" width=130 align=left><b>D1C&nbsp;P.Dispenser
C-P</b>
<td class="rigasenzabordo" width=920 colspan=13></b>
</tr>
<!--righe di dettaglio dell'articolo (quantità)-->
<tr id="D1" style="display:none" bgcolor="#FFFFCC">
<td class="rigasenzabordo" width=10></td>
<td class="rigasenzabordo" width=130 align=left>601-0R1-COLGATE</td>
<td class="rigasenzabordo" width=70 align=right>2.398.541</td>
<td class="rigasenzabordo" width=70 align=right>2.488.887</td>
<td class="rigasenzabordo" width=70 align=right>2.297.823</td>
<td class="rigasenzabordo" width=70 align=right>2.255.501</td>
<td class="rigasenzabordo" width=70 align=right>2.214.426</td>
<td class="rigasenzabordo" width=70 align=right>2.866.026</td>
<td class="rigasenzabordo" width=70 align=right>2.686.346</td>
<td class="rigasenzabordo" width=70 align=right>2.574.212</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=80 align=right>19.781.762</td>
</tr>
<!--righe di dettaglio dell'articolo (quantità)-->
<tr id="D1" style="display:none" bgcolor="#FFFFCC">
<td class="rigasenzabordo" width=10></td>
<td class="rigasenzabordo" width=130 align=left>601-0R1-HTCOLG</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>127.591</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>66.288</td>
<td class="rigasenzabordo" width=70 align=right>2.000</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>64.320</td>
<td class="rigasenzabordo" width=70 align=right>109.901</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=80 align=right>370.100</td>
</tr>
<!--totale a quantità della linea prodotto-->
<tr id="T1">
<td class="rigasenzabordo" width=10 onclick="toggle('1')"><img
src="/cgiexe/expand.gif" alt="mostra il dettaglio articoli"  border=0>
</td>
<td class="rigasenzabordo" width=130 align=left>D1C&nbsp;P.Dispenser C-P
<td class="rigasenzabordo" width=70 align=right>2.477.970</td>
<td class="rigasenzabordo" width=70 align=right>2.656.047</td>
<td class="rigasenzabordo" width=70 align=right>2.445.640</td>
<td class="rigasenzabordo" width=70 align=right>2.405.286</td>
<td class="rigasenzabordo" width=70 align=right>2.306.726</td>
<td class="rigasenzabordo" width=70 align=right>3.034.041</td>
<td class="rigasenzabordo" width=70 align=right>2.826.063</td>
<td class="rigasenzabordo" width=70 align=right>2.762.388</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=70 align=right>0</td>
<td class="rigasenzabordo" width=80 align=right><b>20.914.161</b></td>
</tr>
.
.
.
.
.
.
.

 Bisognerebbe fare un ciclo sulle varie DIV ma per me č arabo !
sono di corsissima, ma:
 toggle(gruppo) e tira su un id="T"+gruppo.
cosě io farei un qualcosa del tipo
for(var x=0,obj=document.getElementsByTagName("div");x<obj.length;x++)
 if(obj.id.indexOf(0,1)=="T")
  toggle(obj.id.indexOf(1));
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

 ha scritto nel messaggio
news:yr5do6dcsfx8$.dlg@ID-147253.user.individual.net...


  if(obj.idname.indexOf(0,1)=="T")
Qua c'è un casotto: prima idname è un oggetto, adesso è diventato una
proprietà inesistente di un altro oggetto
Quello che stai facendo non c'entra niente con quello che ti ho scritto io.
Perché vuoi usare il name?
Spiega allora meglio cosa vuoi ottenere, forse non ho capito bene io...
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 ha scritto nel messaggio
news:y9bovv2d...@ID-147253.user.individual.net...


 id è nullo o non è un oggetto.
Hai ragione, devi sostituire obj. con obj[x]. (te l'ho detto che sono di
corsa? :-/ )
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 ha scritto nel messaggio
news:1p8ir8co...@ID-147253.user.individual.net...


 for(var x=0,obj=document.getElementsByTagName("div");x<obj.length;x++)
A questo punto devi ciclare le tr e trovare quelle che iniziano con T.
Se non ricordo male potrebbe essere (detto "Tbl" l'id della table che
contiene tutte queste righe, sperando [dal codice che hai postato non si
capisce] che siano nella stessa tabella]):
 for(var x=0,obj=document.getElementsById('Tbl').rows;x<obj.length;x++)
  e il resto (non controllata la function toggle, ma se ti va per i singoli
click non vedo perché non dovrebbe andare) dovrebbe restare uguale
