Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6347573
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T21:14:36+00:00 2026-05-24T21:14:36+00:00

Question: i have country dropdown list and region dropdown list. Region drop downlist should

  • 0

Question: i have country dropdown list and region dropdown list. Region drop downlist should be populated with values based on the chosen country using jQuery. I googled and tried to solve this problem, but i failed, i couldn’t do it. Any simple steps that would help me achieve this?

Here is my snippet:

Basically first page load will populate the drodown lists from db and also store
the list in sessions so list can re-used at application level as long as the session
is active.

Default countryID and regionID are put in session called $_SESSION[‘regionID’] and $_SESSION[‘countryID’]

    if(!isset($_SESSION['countryList']))
    {
        $_SESSION['countryList'] = array();
    }

    if(!isset($_SESSION['regionList']))
    {
        $_SESSION['regionList'] = array();
    }

.
.
.
        <form action="index.php" method="GET">
            <label for="lbl_country" id="countrylabel">Country</label>
            <select name="country" id="countrylist" onchange="getRegions(<?php $_SESSION['regionID']; ?>)">
                 <?php
                    //fetch country list from database and store it in session      
                    if(isset($_SESSION['countryList']) && !empty($_SESSION['countryList']))
                    {
                        foreach ($_SESSION['countryList'] as $val)
                        {
                            echo '<option value="'.$val['countryID'].'"';
                            if($_SESSION['countryID'] == $val['countryID'])
                            {
                                echo 'selected';    
                            }
                            echo ">".$val['countryName']."</option>'";
                        }   
                    }
                    else //means the session is not set yet-or-session is empty. Either case, we have to fetch
                    {
                        $query = "SELECT countryID, countryName FROM Country ORDER BY countryID ASC";
                        $results = mysql_query($query);
                        while ($row = mysql_fetch_assoc($results)) 
                        {
                            echo '<option value="'.$row['countryID'].'"';
                            if($_SESSION['countryID'] == $row['countryID'])
                            {
                                echo 'selected';    
                            }
                            echo ">".$row['countryName']."</option>'";

                            $_SESSION['countryList'][] = $row;
                        }   
                    }                   
                ?>
            </select>

            <label for="lbl_region" id="regionlabel">Region</label>
            <select name="region" id="regionlist">
                  <?php     
                    if(isset($_SESSION['regionList']) && !empty($_SESSION['regionList']))
                    {
                        foreach ($_SESSION['regionList'] as $val)
                        {
                            echo '<option value="'.$val['regionID'].'"';
                            if($_SESSION['regionID'] == $val['regionID'])
                            {
                                echo 'selected';    
                            }
                            echo ">".$val['regionName']."</option>'";
                        }   
                    }
                    else
                    {
                        $query = "SELECT regionID, countryID, regionName FROM Region WHERE countryID =".$_SESSION['countryID']." ORDER BY regionID ASC";
                        $results = mysql_query($query);
                        while ($row = mysql_fetch_assoc($results)) 
                        {
                            echo '<option value="'.$row['regionID'].'"';
                            if($_SESSION['regionID'] == $row['regionID'])
                            {
                                echo 'selected';    
                            }
                            echo ">".$row['regionName']."</option>'";

                            //everytime you go to a loop, make sure to put the result in the session
                            $_SESSION['regionList'][] = $row;
                        }   
                    }
                ?>
            </select>
</form>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T21:14:37+00:00Added an answer on May 24, 2026 at 9:14 pm

    Lets take an easy example, I’m using this and it works perfectly fine.

    This is the country dropdown:

    <?php
            $countrylist=mysql_query("SELECT * FROM country ORDER BY name ASC");
            echo "<select name='country' id='country' onchange=\"reload(this.form)\" title='Country e:g; United Kingdom,Pakistan'><option value='0'>Select Country</option>";
            while($clist=mysql_fetch_array($countrylist))
            {
            echo "<option value='$clist[Name]'>$clist[Name]</option>"."<br/>";
            }
            echo "</select>";
     ?>
    

    This is the region dropdown:

    <select name="region" id="region" ></select>
    

    Now make a seperate file named crlist.js and include it in the page having above code like this:

    <script  type="text/javascript" src="crlist.js"> </script>
    

    code for crlist.js:

    var request = false;
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    try {
    request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e2) {
    request = false;
    }
    }
    @end @*/
    function fillSelect(country,path) {
    var url = path+"crlist.php?country=" + country;
    request.open("GET", url, true);
    request.onreadystatechange = go;
    request.send(null);
    }
    
    function go() {
    if (request.readyState == 4) {
    //if (request.status == 200) {
    
    var response = request.responseText;
    
    var list=document.getElementById("region");
                for (i = list.length - 1; i>=0; i--) {
                    list.remove(i);
                }
    var records=response.split('|');
    for (i=1; i<records.length; i++) {
        //alert("rcord="+records[i]);
        var record=records[i].split('*');
        var region=record[0];
        //alert("region="+region);
        var regionid=record[1];
        //alert("regionid="+regionid);
        var x=document.createElement('option');
        //var y=document.createTextNode(region);
        x.text=region;
        //x.value=region;
        //alert(x.text);
       //x.appendChild(y);
       //list.appendChild(x);
       list.options.add(x);
       }
      //}
     }
    }
    
    function initCs(path) {
    
    if (!request && typeof XMLHttpRequest != 'undefined') {
    request = new XMLHttpRequest();
    }
    var country=document.getElementById('country');
        country.onchange=function() {
    
            if(this.value!="Select") {
    
                var list=document.getElementById("region");
                for (i = list.length - 1; i>=0; i--) {
                    list.remove(i);
                }
            //while (list.childNodes[0]) {
            //list.removeChild(list.childNodes[0]);
            //}
            }
            fillSelect(this.value,path);
            //alert(this.value);
    
        }
    //fillSelect(country.value);
    }
    

    Now make a seperate file named crlist.php.

    Code for crlist.php:

    <?php
    require_once 'yourconfigfile.php';
    
    $cname = $_GET['country'];
    
    $query="select ID,Name from city where CountryCode=(select code from country where name='$cname') Order By Name ASC";
    $res = mysql_query($query) or die(mysql_error());
    while($region = mysql_fetch_array($res)){
        echo "<option value='".$region['Name']."'>".$region['Name']."</option>";
    }       
    ?>
    

    Now add following script on the page having dropdowns:

    <script  type="text/javascript" src="crlist.js"> </script>
    <script>
    $(document).ready(function() {
    
        initCs("");
    
    });
    </script>
    

    This is my own script, and i’ve assumed that you have created country and region tables. But you need to tweak the queries and above code according to your db structure.

    Hope this helps.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a dynamic list like this: list = [{'Question 1': {'Job': 'job1', 'Country':
my question is continuation of what i have asked see the link. Load Country/State/City
just registered. First question :) If I have in my domain model entity Country
i have a txt file with a list of country's. For my form i
Hello I have question about android spinner I have spinner which is populated by
Hello I have question about android spinner I have spinner which is populated by
See I have been creating a Country selector. And in my previous question -
I have a database with exact addresses (street, no, city, region/area, country). However, I
No doubt elements of this question have been asked before, but I'm having trouble
I know variants of this question have been asked before (even by me), but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.