Mega Code Archive

 
Categories / JavaScript DHTML / Form Control
 

Changing Select Element Content (two Combobox)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd"> <!--       Example File From "JavaScript and DHTML Cookbook"      Published by O'Reilly & Associates      Copyright 2003 Danny Goodman --> <html> <head> <title>Recipe 8.13</title> <style rel="stylesheet" id="mainStyle" type="text/css"> html {background-color:#cccccc} body {background-color:#eeeeee; font-family:Tahoma,Arial,Helvetica,sans-serif; font-size:12px;     margin-left:15%; margin-right:15%; border:3px groove darkred; padding:15px} h1 {text-align:right; font-size:1.5em; font-weight:bold} h2 {text-align:left; font-size:1.1em; font-weight:bold; text-decoration:underline} .buttons {margin-top:10px} </style> <script type="text/javascript"> var regiondb = new Object() regiondb["africa"] = [{value:"102", text:"Cairo"},                       {value:"88", text:"Lagos"},                       {value:"80", text:"Nairobi"},                       {value:"55", text:"Pretoria"}]; regiondb["asia"] = [{value:"30", text:"Ankara"},                     {value:"21", text:"Bangkok"},                     {value:"49", text:"Beijing"},                     {value:"76", text:"New Delhi"},                     {value:"14", text:"Tokyo"}]; regiondb["australia"] = [{value:"64", text:"Suva"},                           {value:"12", text:"Sydney"}]; regiondb["europe"] = [{value:"11", text:"Athens"},                       {value:"35", text:"Frankfurt"},                       {value:"3", text:"London"},                       {value:"15", text:"Madrid"},                       {value:"1", text:"Paris"},                       {value:"10", text:"Rome"},                       {value:"6", text:"Stockholm"},                       {value:"97", text:"St. Petersburg"}]; regiondb["noamer"] = [{value:"73", text:"Dallas"},                       {value:"71", text:"Los Angeles"},                       {value:"5", text:"New York"},                       {value:"37", text:"Toronto"}]; regiondb["soamer"] = [{value:"65", text:"Buenos Aires"},                       {value:"31", text:"Caracas"},                       {value:"66", text:"Rio di Janeiro"}]; function setCities(chooser) {     var newElem;     var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;     var cityChooser = chooser.form.elements["city"];     while (cityChooser.options.length) {         cityChooser.remove(0);     }     var choice = chooser.options[chooser.selectedIndex].value;     var db = regiondb[choice];     newElem = document.createElement("option");     newElem.text = "Choose a City:";     newElem.value = "";     cityChooser.add(newElem, where);     if (choice != "") {         for (var i = 0; i < db.length; i++) {             newElem = document.createElement("option");             newElem.text = db[i].text;             newElem.value = db[i].value;             cityChooser.add(newElem, where);         }     } } /**********   DOM LEVEL 0 ALTERNATE  ********** function setCities(chooser) {     var cityChooser = chooser.form.elements["city"];     // empty previous settings     cityChooser.options.length = 0;     // get chosen value to act as index to regiondb hash table     var choice = chooser.options[chooser.selectedIndex].value;     var db = regiondb[choice];     // insert default first item     cityChooser.options[0] = new Option("Choose a City:", "", true, false);     if (choice != "") {         // loop through array of the hash table entry, and populate options         for (var i = 0; i < db.length; i++) {             cityChooser.options[i + 1] = new Option(db[i].text, db[i].value);         }     } } **********/ </script> </head> <body> <h1>Changing Select Element Content</h1> <hr />  <form name="dealers" ...> ... Submit Request to: <select name="continent" onchange="setCities(this)">     <option value="" selected>Choose a Region:</option>     <option value="africa">Africa</option>     <option value="asia">Asia</option>     <option value="australia">Australia/Pacific</option>     <option value="europe">Europe</option>     <option value="noamer">North America</option>     <option value="soamer">South America</option> </select>&nbsp; <select name="city">     <option value="" selected>Choose a City:</option> </select> ... </form> </body> </html>