Region 1: WestMidwestEast State 1:
Region 2: WestMidwestEast State 2:
Region 3: WestMidwestEast State 3:
<script type="text/javascript"> var regionState = new DynamicOptionList(); regionState.addDependentFields("REGION1","STATE1"); regionState.addDependentFields("REGION2","STATE2"); regionState.addDependentFields("REGION3","STATE3"); regionState.forValue("west").addOptions("California","Washington","Oregon"); regionState.forValue("midwest").addOptions("Illinois","Iowa","Missouri"); regionState.forValue("east").addOptions("New York","Maine","Pennsylvania"); regionState.forValue("midwest").setDefaultOptions("Iowa"); regionState.forValue("east").setDefaultOptions("New York"); regionState.forField("STATE3").setValues("Maine"); regionState.selectFirstOption = false; </script>
This is a 6-level list of junk data, to show that the number of nested levels is unlimited. The second options in each list have sub-options.
<script type="text/javascript"> var sixLevel = new DynamicOptionList("L1","L2","L3","L4","L5","L6"); sixLevel.forValue("2").addOptionsTextValue("1","1","2 -->","2"); sixLevel.forValue("2").forValue("2").addOptionsTextValue("1","1","2 -->","2"); sixLevel.forValue("2").forValue("2").forValue("2").addOptionsTextValue("1","1","2 -->","2"); sixLevel.forValue("2").forValue("2").forValue("2").forValue("2").addOptionsTextValue("1","1","2 -->","2"); sixLevel.forValue("2").forValue("2").forValue("2").forValue("2").forValue("2").addOptionsTextValue("1","1","2","2"); </script>
Now we get a little more complicated...
<script type="text/javascript"> var makeModel = new DynamicOptionList("MAKE","MODEL","TYPE"); makeModel.addDependentFields("MAKE2","MODEL2","TYPE2"); makeModel.forValue("Ford").addOptions("Fiesta","Focus","Taurus"); // Add options if VALUE of option is selected makeModel.forText("Honda").addOptions("Civic","Accord","Prelude"); // Add these options if TEXT of option is selected makeModel.forValue("Ford").setDefaultOptions("Fiesta"); makeModel.forText("Honda").setDefaultOptions("Accord"); makeModel.forValue("Ford").forValue("Taurus").addOptions("2-door","4-door"); makeModel.forField("MODEL").setValues("Focus","Taurus"); makeModel.forField("TYPE").setValues("2-door"); makeModel.forField("MODEL2").setValues("Civic","Prelude"); makeModel.forValue("Toyota").addOptionsTextValue("Camry","10-CAMRY","Corolla","20-COROLLA","Celica","30-CELICA"); // Add options with values different from text </script>