Aggiornare tutti

djjunior

Utente Attivo
24 Lug 2004
99
1
8
Carissimi ho un problema con uno script.
A questo indirizzo è visibile la funzionalità completa di tutti gli script.
LINK
Come si può notare selezionando dal menù SUPPORTO, l'opzione METAL tramite una div cambia la select del FORMATO (prima opzione15x20) ora selezionando quindi METAL e cliccando su IMPOSTAXTUTTI aggiorna correttamente la select del supporto a tutti ma non quella del formato, anzi lo fa solo all'ultimo risultato, Dove sbaglio? Grazie
G.
 

djjunior

Utente Attivo
24 Lug 2004
99
1
8
Capisco la difficoltà visionando la pagina online, comunque in pratica ho fatto questo script:
Codice:
<script language="javascript" type="text/javascript">
function metal<%=iContatore%>() 
{
var opz = document.getElementById("supporto<%=iContatore%>");
          if (opz == "metal") {
          
document.getElementById('box<%=iContatore%>').style.display = "block";
document.getElementById('boxa<%=iContatore%>').style.display = "none";
}
}
</script>
Premetto che lo script e inserito in un ciclo dove ricevo risultati variabili da db
Questo script lo richiamo da un'altra select tramite: onchange="metal<%=iContatore%>()"
In pratica dovrebbe fare , ma non funziona, che selezionando dalla select SUPPORTO l'opzione METAL, dovrebbe visualizzare il div BOX e nascondere il div BOXA, è dovrebbe farlo a tutti i risultati, ecco spiegato nel codice il iContatore.
Dove sbaglio?
Grazie per l'eventuale aiuto.
G.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, è un po contorto il ragionamento
in pratica crei tot function (metal1, metal2 etc) per ogni tr che mostri?
e quando le richiami le funzioni ?
 

djjunior

Utente Attivo
24 Lug 2004
99
1
8
Diciamo che più che contorto è difficile da spiegare...
Ho creato questa function metal numerata, naturalmente non so se sto facendo un azione corretta, ma in pratica se ti colleghi al link che è pubblicato come primo post, forse è + chiaro.
Come si può notare selezionando dal menù SUPPORTO, l'opzione METAL tramite una div cambia la select del FORMATO (prima opzione15x20) ora selezionando quindi METAL e cliccando su IMPOSTAXTUTTI aggiorna correttamente la select del supporto a tutti ma non quella del formato.
Dove sbaglio? Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
E' difficile anche da capire
Ho visto che hai creato le funzioni
Codice:
 function metal0() 
                        {
                            var bnd = document.getElementById("supporto0");
                            if (bnd == "metal") {
          
                                document.getElementById('box0').style.display = "block";
                                document.getElementById('boxa0').style.display = "none";
                            }
                        }
ma dovrebbe esserci u richiamo sull'onchange per farla funzionare
Codice:
metal0();
Io cmq credo ci sia una strada più semplice, con un ciclo for per esempio
 

djjunior

Utente Attivo
24 Lug 2004
99
1
8
Grazie per la risposta, ma anche mettendo all'onchange la funzione metal0() non funziona, puoi indicarmi come implementare il ciclo for alla funzione?
Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ancora non mi è chiaro il fine
al cambio di una della select nella colonna supporto, se selezionato metal, devi aggiornare le option di tutte le select della colonna formato e selezionare metal in tutte le select della colonna supporto ?
 

djjunior

Utente Attivo
24 Lug 2004
99
1
8
Si proprio così, anche se metal (premendo imposta x tutti) nella colonna supporto già lo fa, vedi dal link
Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ancora qualche informazione
se io seleziono metal nella select della prima riga tutte le select delle altre righe devono cambiare
ma se poi seleziono lucida nella select della terza riga per esempio, tutte le select devono tornare come prima ?
che ne dici di usare jquery per semplificare il codice?
ps:
molto interessante la foto nella terza <tr> :)
 

djjunior

Utente Attivo
24 Lug 2004
99
1
8
No allora come vedi ci sono i tasti IMPOSTAXTUTTI su ogni select.
Se io seleziono alla prima (o altre righe) METAL come vedi nel campo FORMATO della riga di riferimento cambia.
Ora se voglio dare le impostazioni a tutte le righe che siano METAL basta che clicco su IMPOSTAXTUTTI e il sistema aggiorna tutte le righe a METAL ma proprio in questo caso vorrei che cambi (il div box)anche le select FORMATO, come da funzione onchange="hideshow()" della select supporto (vedi codice).
E' un po complicato lo ammetto, ma utilizzando la pagina lo capisci meglio.
Seleziona METAL alla prima riga e vedi che il formato di riferimento cambia, ora premi IMPOSTAXTUTTI da campo SUPPORTO, vedi che cambiano tutte le righe a METAL? Però le select FORMATO restano a 10X15 mentre dovrebbero essere 15X20 come la prima riga.
Grazie 1000 per l'aiuto.
G.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Comincia ad essere leggermente più chiaro
mettiamo che le righe della tua tabella siano sempre 6 come nell'esempio che hai postato
potresti modificare la funzione assegnaFormatoATutti() cosi
Codice:
function assegnaFormatoATutti(indice) {
                var selFormato = document.forms['info'].formato;
                var indiceSelezionato = selFormato[indice].selectedIndex;
                for (var i=0; i<selFormato.length; i++) {
                    selFormato[i].selectedIndex=indiceSelezionato;

                }
                if(indiceSelezionato == "metal") {
                    for(var z = 0; z<6; z++) {                        
                        document.getElementById('box' + z).style.display = "block";
                        document.getElementById('boxa' + z).style.display = "none";
                    }
                }               
                    
            }
 

djjunior

Utente Attivo
24 Lug 2004
99
1
8
Forse volevi metterlo alla funzione assegnaSupportoatutti così:
Codice:
function assegnaSupportoATutti(indice) {
	var selSupporto = document.forms['info'].supporto;
	var indiceSelezionato = selSupporto[indice].selectedIndex;
	for (var i=0; i<selSupporto.length; i++) {
		selSupporto[i].selectedIndex=indiceSelezionato;
		}

		 if(indiceSelezionato == "metal") {
         for(var z = 0; z<6; z++) {                        
         document.getElementById('box' + z).style.display = "block";
         document.getElementById('boxa' + z).style.display = "none";
                    }
		}
}
Ho provato ma non cambia il formato dopo avere selezionato metal e premuto impostaxtutti.
Le righe possono variare come devo eventualmente modificarlo?
Grazie
G.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Si la funzione è quella che dici tu
cambia invece la condizione
Codice:
if(indiceSelezionato == "metal") {
cosi
Codice:
if(selSupporto[indice].value == "metal") {
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prego, per contare le righe della tabella in automatico potresti provare cosi
considerando che la tua tabella abbia sempre id "table1"
Codice:
if (selSupporto[indice].value == "metal") {
            tr = document.getElementById("table1").getElementsByTagName("tr");
            for (var z = 0; z < tr.length; z++) {
                document.getElementById('box' + z).style.display = "block";
                document.getElementById('boxa' + z).style.display = "none";
            }
        }
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Aggiornare percorso file collegati MS Access 0
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
M Aggiornare stesso campo in due tabelle PHP 0
Alex_70 Aggiornare campo da un altro campo PHP 16
M Aggiornare simultaneamente i campi di due tabelle collegate con id PHP 4
L aggiornare 2 campi di una tabella insieme PHP 6
Leshabituelles Non riesco ad aggiornare PHP PHP 0
M [Javascript] Aggiornare like totali dopo click Javascript 0
S aggiornare valore di un elemento xml con php PHP 8
P [PHP] Intercettare ed aggiornare campi di un database PHP 5
C [PHP] scrivere o aggiornare record in tabella PHP 7
T Aggiornare una tabella db richiamando da file php PHP 3
Q Problema su come far aggiornare i campi su un database Mysql PHP 17
M [Javascript] [PHP] aggiornare pagina ogni ora Javascript 2
B [Javascript] Cambiare classe ed aggiornare relativi eventi Javascript 3
S Aggiornare una tabella db richiamando da file php PHP 3
S [PHP]Aggiornare pagina in maniera trasparente... PHP 3
M [PHP] Aggiornare i dati dei record selezionati PHP 3
X come aggiornare codice php? PHP 5
ste80 [PHP] cancellare/aggiornare record DB PHP 24
WebDr [ASP] Aggiornare una pagina in un div da un altro div su pagina diversa Classic ASP 3
C Aggiornare App Html5 HTML e CSS 2
D [Javascript] aggiornare numero caratteri se campo già popolato Javascript 5
S [Javascript] Aggiornare solo un DIV una sola volta con un click di un bottone Javascript 9
Metazoo Recuperare variabile php da javascript senza aggiornare pagina PHP 5
Magenta [WordPress] Dati ftp per aggiornare in locale WordPress 10
giancadeejay Aggiornare tabella db con php PHP 10
giancadeejay [PHP] Aggiornare un valore del database tramite form PHP 26
giancadeejay [PHP] Aggiornare DB tramite UPLOAD file .csv PHP 39
L [PHP] Sommare campi e aggiornare tabella PHP 14
F Aggiornare marker su mappa google con una funzione ajax richiamata al cambio di una select Ajax 2
N eseguire pagina php senza aggiornare la pagina Ajax 3
M Aggiornare Plesk e PHP su VPS Linux OVH Server Dedicati e VPS 3
P Aggiornare Tabella con form ma senza Mysql HTML e CSS 0
P Aggiornare tabella tramite form PHP 17
garimpeiro Errore di sintassi si tenta di aggiornare file in formato dbf Programmazione 2
L Script per aggiornare pagina html Javascript 2
G Aggiornare immagine caricata nel DB Classic ASP 1
K mysql aggiornare campo Database 4
Marco_88 Aggiornare elemento DOM jQuery 9
J Aggiornare 2 tabelle PHP 3
R Aggiornare WP e riuscire poi a tornare indietro. WordPress 24
I come aggiornare il codice jQuery 1
P aggiornare div con un clic senza reload Ajax 2
M Aggiornare grafico con i dati inseriti in tabella PHP 0
A aggiornare pagina1 da link di pag2 Javascript 1
M Aggiornare valori in mysql (classifica) PHP 8
K Aggiornare solo una parte di Layout Sviluppo app per Android 0

Discussioni simili