<form> <select id="dropdown" multiple="multiple" onfocus="expandselect('dropdown');return false" onblur="depressselect('dropdown');return false"> <option disabled="disabled">Browser does not support dynamic option</option> </select> </form>
function el(id) { return document.getElementById(id); }
function expandselect(selections){ if(dynaopt){ selections=selections.split(','); for(var i in selections){ var select=selections[i] if(el(select)){ el(select).size=16; el(select).multiple=true; el(select).options[0].selected=false;//quirk with switching multiple=true/false } } } }//expandselected
function depressselect(selections){ if(dynaopt){ selections=selections.split(','); for(var i in selections){ var select=selections[i] if(el(select)){ el(select).size=1; el(select).multiple=false; el(select).options[0].selected=true;//select title } }//end for }//if(dynaopt }//depressselect
function setup(){ dynaopt=true; el('dropdown').options[el('dropdown').options.length-1]=null; if(el('dropdown').options[el('dropdown').options.length])dynaopt=false;//test if dynamic option available on browser if(dynaopt){ el('dropdown').options.length=0;//clear all available el('dropdown').options[0]=new Option('Dropdown box title',null); el('dropdown').options[0].disabled=true; var i=1; for(var option in options){ el('dropdown').options[i++]=new Option(option,option); } }//dynaopt }//end of setup
options=['test1','test2','test3'];