Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208

    selected:selected su campo <option>

    Salve a tutti,
    in realtà questo non è esattamente un problema che espongo, ma la ricerca di un consiglio.

    Ho creato un form in una classe che stampa l'html, e si ricarica popolato qualora non venga passato il check dei dati.

    Per i campi text, il la cosa si risolve semplicemente utilizzando il construct che istanzi le variabili $_POST come variabili utilizzabili nella dichiarazione del value, oppure queste rimangono dichiarate vuote di partenza.

    Codice PHP:
    public function __construct() {
               if (isset(
    $_POST['submit'])) {
                      
    $this->old_id $_POST['old_id'];
                      
    $this->cognome $_POST['cognome'];
                      
    $this->nome $_POST['nome'];
                       
    //etc.etc 
    il problema si pone per alcuni campi di tipo select, poichè la selezione la fa un "selected:selected" sull'option corrispondente.

    Avrei risolto con uno switch, cosa che funziona perfettamente, ma che fa un pò a pugni con l'ottimizzazione del codice che avrei voluto ottenere:

    Codice PHP:
    switch ($this->tipo_socio_id) {
                case 
    '':
                      
    $body .=  "<option value='' selected: selected>(vuoto)</option>                                                                <option value='1'>P</option>                                                                                                <option value='2'>E</option>                                 
                                     <option value='3'>D</option></select></label><br>"
    ;
                      break;
                case 
    '1':
                      
    $body .= "<option value=''>(vuoto)</option>
                                     <option value='1' selected: selected>P</option>                                                                       <option value='2'>E</option>
                                     <option value='3'>D</option></select></label><br>"
    ;
                      break;
                case 
    '2':
                      
    $body .= "<option value=''>(vuoto)</option>
                                     <option value='1'>P</option>                                                                                               <option value='2' selected:selected>E</option>
                                     <option value='3'>D</option></select></label><br>"
    ;
                      break;
                case 
    '3':
                      
    $body .= "<option value=''>(vuoto)</option>
                                     <option value='1'>P</option>                                                                                               <option value='2'>E</option>
                                     <option value='3' selected:selected>D</option></select></label><br>"

    Considerate che questi erano 3 option, ne ho un altro che con il campo vuoto ne fa 21, il che vuol dire circa 450 linee di codice per un singolo switch. Forse un pò troppe.

    Letta la cosa, avete per caso un suggerimento su come ridurre la cosa o non c'è speranza?
    Grazie!
    Ultima modifica di Korenaar; 17-03-2014 a 16:50

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.