Yan Shuang Low
Yan Shuang Low

Reputation: 47

How to set Dropdown List default value based on user selection

I have a dropdown list. However i want to set a default based on user selection. Therefore the default value is not consistent. What can i do to achieve this? I have set $country = $_POST['country']; as user selection.

<td>Country:</td>
<td colspan="2"><select name="country">
    <option value="93">93-Afghanistan</option>
    <option value="355">355-Albania</option>
    <option value="213">213-Algeria</option>
    <option value="1-684">1-684-American Samoa</option>
    <option value="376">376-Andorra</option>
    <option value="244">244-Angola</option>
    <option value="1-264">1-264-Anguilla</option>
    <option value="672">672-Antarctica</option>
    <option value="1-268">1-268-Antigua and Barbuda</option>
    <option value="54">54-Argentina</option>
    <option value="374">374-Armenia</option>
    <option value="297">297-Aruba</option>
    <option value="61">61-Australia</option>
</select>

To add on. There are 200 over options (I never list all down) so i hope to get a convenience way to achieve this

Upvotes: 0

Views: 1910

Answers (4)

Suyog
Suyog

Reputation: 2482

Try using session for it.

The php code:

session_start();
$_SESSION['selectedCountry'] = $_POST['country'];

Then you can use JQuery to make dropdown selected:

$(document).ready(function(){
             $(function() {
                $("#country").val("<?php echo $_SESSION['selectedCountry'];?>");
             });
    })

Upvotes: 0

MenukZ
MenukZ

Reputation: 79

Try this...

    <?php
(isset($_POST["country"])) ? $country = $_POST["country"] : $country=93; 
?>

<form action='stackover.php' method='POST'>
<select id="country" name="country">
<option <?php if ($country == 93 ) echo 'selected' ; ?> value="93">93-Afghanistan</option>
<option <?php if ($country == 355 ) echo 'selected' ; ?> value="355">355-Albania</option>
<option <?php if ($country == 213 ) echo 'selected' ; ?> value="213">213-Algeria</option>
</select>
<input type="submit" value="Submit">
</form>

Upvotes: 0

Janaka
Janaka

Reputation: 408

You can use 'selected' for relevant option

<option value="93" <?php if($country==93) echo "selected" ?> >93-Afghanistan</option>
<option value="355" <?php if($country==355) echo "selected" ?> >355-Albania</option> 

like this add if conditon for each option.

Upvotes: 1

dhi_m
dhi_m

Reputation: 1265

Please try out this ..

HTML :-

        <td>Country:</td>
        <td colspan="2"><select id="country" name="country">
            <option value="93">93-Afghanistan</option>
            <option value="355">355-Albania</option>
            <option value="213">213-Algeria</option>
            <option value="1-684">1-684-American Samoa</option>
            <option value="376">376-Andorra</option>
            <option value="244">244-Angola</option>
            <option value="1-264">1-264-Anguilla</option>
            <option value="672">672-Antarctica</option>
            <option value="1-268">1-268-Antigua and Barbuda</option>
            <option value="54">54-Argentina</option>
            <option value="374">374-Armenia</option>
            <option value="297">297-Aruba</option>
            <option value="61">61-Australia</option>
        </select>
     </td>

JQuery :-

     $(document).ready(function(){
         $(function() {
            $("#country").val("<?php echo $_POST['country'];?>");
         });
    })

Upvotes: 0

Related Questions