This is a method I always use if the data is not going to change frequently, otherwise I post to the database and populate the child list:
<script language="javascript" src="jscripts/_make_businessdropdowns.js"></script>
<script language="javascript">
function set_business_function(ranges, values) {
selectedIndex = 0;
var dropDown;
dropDown = document.f.businessfunction;
if (dropDown) {
dropDown.length = 0;
for(index=0; index<ranges.length; index++) {
dropDown[index] = new Option(ranges[index],values[index], false, false);
}
dropDown.options[selectedIndex].selected = true;
}
}
</script>
HTML:
<select name='busunit' onChange="set_business_function(_business_unit_function[this.selectedIndex], _business_unit_function_number[this.selectedIndex]);" >
<option value="1000">All or Select A Business Unit</option>
<option value="0">Retail Wide News</option>
<option value="1">Alternative Channels</option>
<option value="2">World</option>
<option value="3">Regions</option>
<option value="4">Business</option>
<option value="5">Business Improvement</option>
<option value="6">Consumer</option>
<option value="7">Customer Contact Centre</option>
<option value="8">Field Service</option>
<option value="9">Finance & Business Management</option>
<option value="10">Human Resources & Management Services</option>
<option value="11">Internet Operations</option>
<option value="12">Major Business</option>
<option value="13">Products & Enterprises</option>
<option value="14">Transformation Technology</option>
</select>
js file:
_business_unit_function = new Array();
_business_unit_function_number = new Array();
// defautl menu structure
_business_unit_function[0] = new Array('All or Select A Business Unit Community','');
_business_unit_function_number[0] = new Array(1000,1000);
_business_unit_function[1] = new Array('All or Select A Business Unit Community','Retail Wide News');
_business_unit_function_number[1] = new Array(1000,1000);
_business_unit_function[2] = new Array('All or Select A Business Unit Community','Indirect Channels');
_business_unit_function_number[2] = new Array(1000,1);
_business_unit_function[3] = new Array('All or Select A Business Unit Community','World');
_business_unit_function_number[3] = new Array(1000,1000);
_business_unit_function[4] = new Array('All or Select A Business Unit Community','Northern Ireland','Scotland','North East Region','North West Region','Yorkshire & Humberside Region','West Midlands Region','East Midlands Region','East of England Region','London','South East Region','South West Region','Wales');
_business_unit_function_number[4] = new Array(1000,2,3,4,5,6,7,8,9,10,11,12,13);
_business_unit_function[5] = new Array('All or Select A Business Unit Community','Alternative Channels','Campaigns','Corporate Sales','Customer Satisfaction','Enterprise Sales','Enterprise Sales - Desks','Enterprise Sales - Field','Enterprise Sales - Islands','Marketing')
_business_unit_function_number[5] = new Array(1000,14,15,16,17,18,19,20,21,22)
_business_unit_function[6] = new Array('All or Select A Business Unit Community','Business Improvement');
_business_unit_function_number[6] = new Array(1000,1000);
_business_unit_function[7] = new Array('All or Select A Business Unit Community','Payphones');
_business_unit_function_number[7] = new Array(1000,23);
_business_unit_function[8] = new Array('All or Select A Business Unit Community','Customer Contact Centre');
_business_unit_function_number[8] = new Array(1000,1000);
_business_unit_function[9] = new Array('All or Select A Business Unit Community','Field Service');
_business_unit_function_number[9] = new Array(1000,1000);
_business_unit_function[10] = new Array('All or Select A Business Unit Community','Alternative Channels Finance','Regions Finance','Business Finance','Consumer Finance','Customer Service Finance & Billing','Finance Major Business','Finance Planning & Reporting','Finance Venturing & Solutions','Legal & Regularity','Products & Enterprises Finance','Retail Commercial','Retail Strategy');
_business_unit_function_number[10] = new Array(1000,24,25,26,27,28,29,30,31,32,33,34,35);
_business_unit_function[11] = new Array('All or Select A Business Unit Community','Human Resources & Management Services');
_business_unit_function_number[11] = new Array(1000,1000);
_business_unit_function[12] = new Array('All or Select A Business Unit Community','Internet Operations');
_business_unit_function_number[12] = new Array(1000,1000);
_business_unit_function[13] = new Array('All or Select A Business Unit Community','Major Business');
_business_unit_function_number[13] = new Array(1000,1000);
_business_unit_function[14] = new Array('All or Select A Business Unit Community','Conferencing','Mobility','CTO','IT Portfolio','Network Products','Network Products - Message Services','Open Orchard','Redcare','Strategic Partnerships');
_business_unit_function_number[14] = new Array(1000,35,36,37,38,39,40,41,42,43);
_business_unit_function[15] = new Array('All or Select A Business Unit Community','Transformation and Technology');
_business_unit_function_number[15] = new Array(1000,1000);