Handling select items
Adding item
opts[46] = new Option("Option text", "Option value");
Unlike Java, JavaScript arrays automatically expand. See JavaScript Array.
Removing item
opts[46] = null;
Unlike Java, JavaScript arrays automatically shrink. See JavaScript Array.
Removing all items
opts.length = 0;
The following is an example of dynamically creating submenus in the second selection box when selecting a main menu in the first selection box.
sel.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Handling select items</title> <script type="text/javascript"> function chooseLang() { var form = document.getElementById("testForm"); var lang = form.programLanguage.value; switch (lang) { case "java": form.step.options[0] = new Option("Java Introduction","javaIntro"); form.step.options[1] = new Option("Class and Object","ClassObject"); form.step.options[2] = new Option("Java DataType","JavadataType"); break; case "javascript": form.step.options[0] = new Option("JavaScript Introduction","javascriptIntro"); form.step.options[1] = new Option("JavaScript DataType","JavascriptDataType"); form.step.options[2] = new Option("JavaScript Objects","JavascriptObjects"); break; default: form.step.options.length = 0; } } </script> </head> <body> <form id="testForm" action="sel.html"> <select name="programLanguage" onchange="chooseLang()"> <option value="">--Select Language</option> <option value="java">Java</option> <option value="javascript">JavaScript</option> </select> <select name="step"> </select> <input type="submit" value="Test" /> </form> </body> </html>
Selecting the top level in the language selection initializes the second selection box.