Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Menù a tendina selezionato in base a una variabile fin dall'inizio

    Ho un menù a tendina cioè un form con un select e varie options che hanno valore numerico da 1 a 12 (i mesi dell'anno).

    Ho anche una variabile che viene apassata al caricamento della pagina e che contiene un valore numerico (sempre tra 1 e 12) che corrisponde al mese che mi interessa. Come faccio a far sì che la tendina abbia fin dall'inizio selezionato il valore corrispondente alla variabile passata? Magari tramite php... forse mi sapete rispondere anche in js.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    basta che dopo value ci metti "selected" senza apici.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    ovvero:

    <font class="piccolo"><select name="mese">
    <option value="01" selected>Gennaio</option>
    <option value="02" >Febbraio</option>
    <option value="03" >Marzo</option>
    <option value="04" >Aprile</option>
    <option value="05" >Maggio</option>
    <option value="06" >Giugno</option>
    <option value="07" >Luglio</option>
    <option value="08" >Agosto</option>
    <option value="09" >Settembre</option>
    <option value="10" >Ottobre</option>
    <option value="11" >Novembre</option>
    <option value="12" >Dicembre</option>
    </select></font>


    basta che sposti selected sulla opzione che vuoi selezionata.

  4. #4
    Si ma... il valore è definito dalla variabile (che quindi varia e non è sempre la stessa) e quindi non posso scrivere niente all'interno dell'option.

  5. #5
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    Ha un nome la variabile che passi tra le pagine?

  6. #6
    Beh, certo... sennò come la passo? Si chiama data e la posso prendere con $_GET[data]. E' un mktime quindi devo estrapolare il mese ma si può fare... il problem è quell'altro.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    potresti passare un array fatto da tante string
    tipo
    array[1]="selected"
    array[2]=""
    etc

    e lo metti nel'echo:
    cosi:

    echo "
    <font class="piccolo"><select name="mese">
    <option value="01" $array[1]>Gennaio</option>
    <option value="02" $array[2]>Febbraio</option>
    <option value="03" $array[3]>Marzo</option>
    <option value="04" $array[4]>Aprile</option>
    <option value="05" $array[5]>Maggio</option>
    <option value="06" $array[6]>Giugno</option>
    <option value="07" $array[7]>Luglio</option>
    <option value="08" $array[8]>Agosto</option>
    <option value="09" $array[9]>Settembre</option>
    <option value="10" $array[10]>Ottobre</option>
    <option value="11" $array[11]>Novembre</option>
    <option value="12" $array[12]>Dicembre</option>
    </select></font>
    "

    alla fine ti basta settare "selected" solo l'indice dell'array che vuoi sia selezionato.
    es:

    cancella_array();
    //cancella arrqay setta tutto a ""
    $array[3]="selected"
    //seleziona marzo (mese numero 3)


    spero si capisca...

  8. #8
    Ehehe si si, si capisce... ci avevo pensato anche io ma non mi sembra e sicuramente non è il metodo più conveniente. Grazie per l'aiuto cmq.

  9. #9
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    Prova con questo...

    Codice PHP:
    <?
       
    /**
        * $selezionato contiene il numero del mese 
        *    selezionato da 1 a 12
        *
        *    .... ovviamente lo devi estrapolare te.....
        */
    $mesi = array('Gennaio','Febbraio','Marzo','Aprile',
        
    'Maggio','Giugno','Luglio','Agosto',
            
    'Settembre','Ottobre','Novembre','Dicembre');
    echo 
    "<select name=\"mese\">";
    for (
    $i=0$i count($mesi); $i++) {
      if (
    $i == ($selezionato 1))
        echo 
    "<option value=\"".($i+1)."\"   selected>$mesi[$i]</option>";
      else
        echo 
    "<option value=\"".($i+1)."\">$mesi[$i]</option>";
    }
    echo 
    "</select>";
    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    seno puoi fare un case of e fai un echo diverso per ogni mese...12 echo differenti..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.