Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Come selezioanare un select

    Salve.
    Sto tentando di lasciare selezionate dei select multiple:
    codice:
    <select name="patente[]"  id="patente"  size="4" multiple="multiple">
    				<option value="-1" >(Selezionare)</option>
    				<option value="16" >Non ho la patente</option>
    				<option <?php echo " value=$val_a1"; ?> value="17" >A1</option>
    				<option value="18" >A</option>
    ...
    Praticamente recupero il mio valore dal database, e fin qui va bene, poi vorrei ripassarglielo al tag di select in modo che il select rimanga già selezionato.
    L'utilità è che se uno non deve modificare dei propri parametri, non in un select, li può lasciare inalterati senza che li debba riselezionare un'altra volta.

  2. #2
    supponendo che $valDatabase sia il valore del database non devi fare altro che fare per ciascuna opzione (che qui chiamerò $opzione)

    <option value="<?=$opzione?>"<?=($valDatabase == $opzione ? ' selected' : '')?>>Non ho la patente</option>

    quindi nel tuo caso dovresti fare

    <option value="16"<?=($valDatabase == 16 ? ' selected' : '')?>>16</option>
    <option value="17"<?=($valDatabase == 17? ' selected' : '')?>>A1</option>
    <option value="18"<?=($valDatabase == 18 ? ' selected' : '')?>>A</option>

    ( una soluzione più elegante vorrebbe che raggruppi le opzioni in un array associativo e fai un ciclo foreach() su tale array )

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Grazie Ratatuia.
    L'ho addattato al mio caso con un ciclo foreach:
    codice:
     $Selezione_patente=$_POST['patente'];
     global $val_16, $val_17, ...
     foreach ($Selezione_patente as $valore) {
            echo "$valore
    \n"; // controllo verifica valore
    	if ($valore == 16){
    		$val_16 = $valore;
    		}
            if ($valore == 17){
    		$val_17 = $valore;
    		}
                ....
    E poi l'ho passato a:
    codice:
    <select name="patente[]"  id="patente"  size="5" multiple="multiple">
    				<option value="-1" >(Selezionare)</option>
    				<option value="16"<?=($val_16 == 16 ? ' selected' : '')?> >Non ho la patente</option>
    				<option value="17"<?=($val_17 == 17 ? ' selected' : '')?> >A1</option>
    				<option value="18"<?=($val_18 == 18 ? ' selected' : '')?> >A</option>
    				<option value="19"<?=($val_19 == 19 ? ' selected' : '')?> >B</option>
    ..........
    In questa maniera posso selezionare più valori e tenerli selezionati dopo l'invio del form, ovviamente supportato dal database.

  4. #4


    non era più semplice fare così?

    Codice PHP:
    foreach (  array('-1' => '(Selezionare)''16' => 'Non ho la patente''17' => 'A1''18' => 'A''19' => 'B' ) as $age => $license ) {
        echo 
    '<option value="',$age,'"',( $age == $_POST['patente'] ? ' selected' '' ),'>',$license,'</option>';


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.