22 messaggi dal 31 marzo 2003
Ciao a tutti, ho trovato questo script x creare delle select dinamiche, xò non riesco ad adattarlo al mio caso, in quanto io pesco da 2 tabelle di un DB i valori di entrambe le combo (ovviamente la seconda combo mi visualizza i risultati in base alla scelta della prima).

<script>
function dennis(selezionata){
ar_uno=new Array()
ar_due=new Array()
ar_tre=new Array()
ar_uno[0]=new Option('uno1','uno1')
ar_uno[1]=new Option('uno2','uno2')
ar_uno[2]=new Option('uno3','uno3')

ar_due[0]=new Option('due1','due1')
ar_due[1]=new Option('due2','due2')
ar_due[2]=new Option('due3','due3')

ar_tre[0]=new Option('tre1','tre1')
ar_tre[1]=new Option('tre2','tre2')
ar_tre[2]=new Option('tre3','tre3')

if(selezionata=="uno")array_rif=ar_uno
if(selezionata=="due")array_rif=ar_due
if(selezionata=="tre")array_rif=ar_tre
for(i=0;i<array_rif.length;i++){
document.form1.seconda.options[i]=array_rif[i]
}
}
</script>
<form name="form1">
<select name="prima" onChange="dennis(this[this.selectedIndex].value)">
<option value="uno">UNO</option>
<option value="due">DUE</option>
<option value="tre">TRE</option>
</select>
<select name="seconda">
<option value="uno1">uno1</option>
<option value="uno2">uno2</option>
<option value="uno3">uno3</option>
</select>


In che modo posso adattarlo ad un'estrazione da DB?? Vi prego aiutatemi!
192 messaggi dal 10 novembre 2002
Mi sono trovato anche io davanti a questo problema, e l'ho risolto così.
La funzione che hai postato, viene lanciata alto client all'evento di onChange del valore della prima select, e quindi i valori della seconda select vengon aggiornati alto client immediatamente.
Questo, con dati dinamici presi da db, non è possibile.
Il concetto principale è che devi fare ricare la pagina stessa all'evento onChange della prima select, passanto alla pagina stessa il valore selezionato dalla select.
Ovvero, nel momento in cui l'utente sceglie un valore dalla prima select, la pagina viene ricaricata e il valore selezionato dall'utente viene aggiunto all'url.
Nella codice della pagina, alle select devi agganciargli un comportamento dinamico, ovvero, i valori devono venire presi da un recordset.
Chiamerò rs1 il recordset che popola la select 1 e rs2 quello che popola la select 2.
Chiaramente rs2 dipendera da un valore di rs1.
rs1 sarà la tua select principale: select campo from tabella
poi, per aggangiare il comportamento dinamico alla prima select:
<select nome='' onChange='codice per ricaricare questa pagina con in aggiunta all'url il valore di questa select'>
<%while rs1.eof%>
<option value="<%rs1.value("nomecampo")%>"><%rs1.value("nomecampo")%></option>
<%rs1.next()%>

la query del secondo recordset dipendera dal valore selezionato nella prima, che, ho detto, sarà passato come variabile nell'url.
query2: select campo from tabella where campo1 = ' "& request.querystring("nomevariabile") &" '
all'inizio request.querystring("nomevariabile") sarà nullo, la query2 non darà risultato e la select2 sarà senza opzioni, ma sempre così costruita:
<%while rs2.eof%>
<option value="<%rs2.value("nomecampo")%>"><%rs2.value("nomecampo")%></option>
<%rs2.next()%>

spero di essermi spiegato abbastanza chiaramente per farti capire le linee generali che io ho seguite per raggiungere il tuo scopo.
perdonami se non sono stato chiarissimo nelle parti del codice, ma sto andando a memoria, non avendo sotto mano quello che ho scritto io...

spero che qualcun'altro possa coprire le lacune di questo mio form...

;)
22 messaggi dal 31 marzo 2003
Grazie Dirk Pitt..alla fine ho capito ke se voglio fare una cosa simile devo x forza ricaricare la pagina e cercare di portarmi dietro tutti i parametri...alè ke lavoraccio!
2.584 messaggi dal 14 maggio 2001
In realtà c'è un'altra soluzione ma dipende da quanti valori hai nella prima select e quanti ne ricavi dalla seconda...

Avevo relativamente pochi valori che non venivano mai o quasi mai aggiornati... ho creato una pagina che mi ha generato un file include contenente tutte le seconde select generate dalla scelta della prima select....

Le istruzioni erano in javascript come le tue e quindi non dovevo ricaricare la pagina....

Tutto dipende dai tuoi valori...
34 messaggi dal 06 settembre 2002
Io ho risolto senza caricare un'altra pagina con RSGetASPObject e funziona benissimo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.