- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- select dinamiche
-
select dinamiche
ciao a tutti!
ho un problema con due select dinamiche, ovvero di cui la seconda si valorizza in base alle scelte fatte nella prima.
Ho trovato molti script in javascript che fanno questa cosa, ma tutti presuppongono un dato array di valori per le select e non consentono di far modificare una query SQL come servirebbe a me.
Cerco di spiegare meglio, la prima select A può assumere (ad es.) valori 1,2,3, mentre la select B valori 11,12,13,21,22,23,31,32,33.
Vorrei che la select B fosse valorizzata sulla base di una query del tipo
SELECT * FROM xxxxx WHERE id = valore della select A.
Il tutto dinamicamente a pagina aperta.
Qualcuno di voi sa aiutarmi?
Grazie,Marco
-
Se ho capito bene cosa ti serve hai bisogno di due select innestate. La seconda include la prima.
-
Facci capire...vuoi creare una variabile stringa js che contenga una select parametrizzata?
E come mai? Dovrebbe servirti lato server non client...Certo che ogni tuo post è sempre originale
-
grande FuSioNmAn hai proprio ragione!!
la seconda select deve restringere i valori visualizzati in base a cosa scelgo nella prima (ovvero scelgo Bologna nella prima come provincia e la seconda visualizza solo i comuni della provincia di Bologna!).
il tutto è inserito in un modulo per cui non posso ricaricare l'intera pagina altrimenti perdo i campi che l'utente ha già valorizzato!!
si capisce?
aspetto vostre illuminazioni!
grazie a tutti,Marco
-
c'è nessuno?!?!?!
-
Io sto incasinatissimo...appena posso ci do un occhio. Ammesso che non si prodighi qualcun altro
Non ricordo manco bene che volevi fare...
-
(Ma stiamo parlando di dropdownlist alias menù a tendina?!?)
Se stiamo parlando di <select> Allora un modo per farlo ci sarebbe... un pò contorto ma con un pò di lavoro ci si riesce (poi se a qualcuno viene in mente una soluzione migliore benvenga).
Fai tre dropdownlist di cui la terza la fai invisibile:
<select> <option>--- tutti</option> <option>ciccio</option> <option>paciccio</option> </select> <select> <option class="ciccio">1</option> <option class="ciccio">2</option> <option class="ciccio">3</option> <option class="paciccio">4</option> </select> <select style="display:none;" id="nascosti"> <option class="cicciociccio">5</option> </select>
Poi in pratica, nel onchange della prima select ti prendi il nome della <option> selezionata (l'innerHTML per capirci) e ti scorri tutti gli elementi della seconda <select>, ad ogni elemento controlli se la class di quell'elemento corrisponde all'innerHTML della <option> selezionata, se non corrispondono l'elemento corrente lo sposti nella <select id="nascosti"> dopodiché fai la stessa cosa scorrendo la <select id="nascosti"> e rimettendo nella seconda select gli elementi che hanno la class corrispondente (forse a pensarci bene è meglio fare il contrario... prima controlli quella "nascosti" poi la seconda).
L'unico problema con questo tipo di soluzione è se l'utente rimette nella prima dropdownlist il valore "tutti" ti si altera l'ordine dei dati nella seconda dropdownlist.
-
ciao SeraphimFoA e grazie mille dell'aiuto!
il mio problema è proprio con il codice Javascript per realizzare l'onchange...
riesci a darmi una mano anche su questo?
grazie!!!Marco
-
Certo, appena ho un attimo in giornata ti posto del codice che funziona per fare gli spostamenti.
-
grazie carissimo!!!!
Marco