<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title></title> </head> <body> <form name="form1" method="post"> <select id="s1" name="s1"></select><select id="s2" name="s2"></select><select id="s3" name="s3"></select><select id="s4" name="s4"></select> </form> <script language="JavaScript">... <!-- function LianDong(arr, sel) ...{ var me = this; this.$ = function(o) ...{ return document.getElementById(o); } this.sub = function (i, pid) ...{ for (var j=i+1; j<sel.length; j++) ...{ me.$(sel[j]).length = 0; me.$(sel[j]).options[0] = new Option("请选择", ""); } for ( var j = 0; j < arr.length; j++) ...{ if (arr[j][1] == pid) ...{ me.$(sel[i+1]).options[me.$(sel[i+1]).length] = new Option(arr[j][2], arr[j][0]); } } } this.init = function() ...{ me.sub(-1,"root"); for (var i=0; i<sel.length-1; i++) ...{ me.$(sel[i]).onchange = function() ...{ var i; for (i=0; me.$(sel[i])!=this; i++); me.sub(i, me.$(sel[i]).value); } } } this.SetValue = function() ...{ for (var i=0; i<arguments.length-1; i++) ...{ me.$(sel[i]).value = arguments[i]; me.sub(i, me.$(sel[i]).value); } me.$(sel[arguments.length-1]).value = arguments[arguments.length-1]; } this.init(); } var array=new Array(); array[0]=new Array("1","root","华南地区"); array[1]=new Array("2","root","华北地区"); array[2]=new Array("3","1","上海"); array[3]=new Array("4","1","广东"); array[4]=new Array("5","上海","徐家汇"); array[5]=new Array("6","3","普托"); array[6]=new Array("7","4","广州"); array[7]=new Array("8","4","湛江"); array[8]=new Array("9","8","湛江1"); array[9]=new Array("10","8","湛江2"); array[10]=new Array("11","7","广州1"); array[11]=new Array("12","7","广州2"); var select = new Array("s1","s2","s3","s4"); var liandong=new LianDong(array, select) liandong.SetValue('华南地区','广东','广州','广州1'); //--> </script> </body> </html>