Dynamically Populating Drop Down List

Posted by Ikhwan on February 10, 2006

Here is a sample code on how to use JavaScript to populate a drop down list based on selection of another. Enjoy.

<html>
Negeri : <select id="ddlNegeri" onchange="setupDaerah();"></select>
Daerah : <select id="ddlDaerah"></select>
</html>

<script type="text/javascript">
var data = {
            "Selangor" : ["Ampang", "Kuala Selangor", "Hulu Langat", "Sabak Bernam"],
            "Johor" : ["Larkin", "Skudai", "Muar"],
            "Melaka" : ["Ayer Keroh", "Alor Gajah"],
            "Negeri Sembilan" : ["Rembau", "Nilai"]
          };

//setup ddlNegeri
var ddlNegeri = document.getElementById("ddlNegeri");
for (n in data)
  ddlNegeri.options[ddlNegeri.options.length] = new Option(n);

function setupDaerah()  {
    var ddlDaerah = document.getElementById("ddlDaerah");
    var selData = data[ddlNegeri.options[ddlNegeri.selectedIndex].text];

    //remove old items
    while (ddlDaerah.options.length > 0)
      ddlDaerah.remove(0);

    //put in new items
    for (d in selData)
      ddlDaerah.options[ddlDaerah.options.length] = new Option(selData[d]);
}
</script>
Trackbacks

Use this link to trackback from your own site.

Comments

Leave a response

  1. Anonymous Wed, 15 Feb 2006 08:26:00 MYT

    viewing ur profile kt http://www.putera.com/tanya/index.php?showuser=1591….
    like to talk with u, tp xde shoutbox kt sinih..would u min to add my ym id:lenyemiliza@yahoo.com..

  2. Ikhwan Wed, 15 Feb 2006 09:05:00 MYT

    well, ok :)
    welcome to anti-keseronokan :D

  3. cade Fri, 17 Feb 2006 15:26:00 MYT

    aku baru belajar javascript. camna nak populate data dari javascript display kat html. Aku cumer tau guna document.writeln

  4. Ikhwan Fri, 17 Feb 2006 20:31:00 MYT

    selain document.writeln(), boleh pakai document.write() ..LOL.

    hihi, selain guna write() kita boleh alter innerHTML utk element2 yg ada dlm html page tu.. katakan kita ada satu DIV, id nya “theDiv”, boleh buat mcm ni.

    var d = document.getElementById(”theDiv”);
    d.innerHTML = “w00t!”;

    atau sebenarnya nak guna innerHTML utk body pun boleh..

    body.innerHTML = “super w00t!”;

    satu lagi ialah menggunakan DOM utk create element sendiri..

    var d = document.createElement(”DIV”);
    d.appendChild(document.createTextNode(”ultra w00t!”));
    document.body.appendChild(d);

    kalau tahu DOM boleh buat mcm2..
    search more on “manipulating javascript dom”..

  5. Anonymous Wed, 15 Mar 2006 18:53:00 MYT

    menarik juga code ni,,,bukan hak milik syarikat ke?

  6. Ikhwan Wed, 15 Mar 2006 21:44:00 MYT

    Code ni sykt bapak aku yang punya! :D

    takde lah, tak ada copyright, bukan milik sykt tmpt aku bekerja.

Comments

*
To prove you're a person (not a spam script), type the security word shown in the picture. You can register to this site so you won't be asked to do this again. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word