Jump to content

Select Multiple in a Form


mbowling

Recommended Posts

You could check if the value of your option is in the cities array using in_array.

 

Example from php.net:

 

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
if (in_array("mac", $os)) {
    echo "Got mac";
}
?> 

 

So in your case you could check if the option value is in an the array and if so set selected:

 

<option value="New York" $selected>

 

 

 

 

Because you say you want to "retain the highlighting" I assume you are wanting to redisplay the form with the previously selected options selected:

 

<?php

//$_POST['city_id'] : selected options

//List of possible options
$optionList = (4=>'Los Angeles',12=>'Chicago',13=>'Orlando',22=>'San Francisco',25=>'Denver',29=>'Detroit');

echo '<select name="city_id" size="4" multiple>';

foreach ($optionList as $city_id => $city_name) {

  echo '<option value="$city_id"'.((in_array($city_id,$_POST['city_id']))?' selected':'').'>$city_name</option>";

}

echo '</select>';


?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.