• User Attivo

    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


  • Moderatore

    Se ho capito bene cosa ti serve hai bisogno di due select innestate. La seconda include la prima.


  • User Attivo

    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 😄


  • User Attivo

    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


  • User Attivo

    c'è nessuno?!?!?!


  • User Attivo

    Io sto incasinatissimo...appena posso ci do un occhio. Ammesso che non si prodighi qualcun altro 😛
    Non ricordo manco bene che volevi fare...


  • User Attivo

    (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.


  • User Attivo

    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


  • User Attivo

    Certo, appena ho un attimo in giornata ti posto del codice che funziona per fare gli spostamenti.


  • User Attivo

    grazie carissimo!!!!

    Marco