Re: Defaults in drop down list...

From: Date: Tue, 07 Jan 2003 14:19:38 +0000
Subject: Re: Defaults in drop down list...
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-130578@lists.php.net to get a copy of this message
> I have a drop down list with all fifty states. very common. I conjured > up a way to store the value when you return to edit the form, but there > most be an easier way either in html, or in php. Here is what I > currently have. > > <select name="state"> > <option > value="AL"{$stateselected['AL']}>Alabama</option> > <option > value="AK"{$stateselected['AK']}>Alaska</option> > <option > value="AZ"{$stateselected['AZ']}>Arizona</option> > . > </select> > > $stateselected['$state'] is an array that stores the state that was > selected on the prior form. is there an easier way, to have a default > state picked out of this drop down list.??? A trick I picked up from someone on this list: <?php $$state = ' selected="true"'; print <<<END <select name="state"> <option value="AL"$AL>Alabama</option> <option value="AK"$AK>Alaska</option> <option value="AZ"$AZ>Arizona</option> <!-- . . . --> </select> END; ?> That's it! If $state is set to 'AZ', then the $$state line creates a variable called $AZ, and sets its value to ' selected="true"'. Running the code produces this HTML: <select name="state"> <option value="AL">Alabama</option> <option value="AK">Alaska</option> <option value="AZ" selected="true">Arizona</option> <!-- . . . --> </select> This solution might be considered ugly for several reasons: * all sorts of warnings are thrown, one for each unset state variable * it's entirely un-obvious to the casual code-reviewer what's going on. So it requires more documentation. * you run the risk of stepping on pre-existing variables. However, the upside, namely, eliminating a *ton* of code, is attractive enough to me that I use this for most select boxes I do. Joel -- [ joel boonstra | jboonstra@gospelcom.net ]

« previous php.general (#130578) next »