<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>联动下拉列表框</title>
<script>
var dept_divi_sect='<DEPT_DIVI_SECT>'+
'<DEPT ID="0" NAME="太平洋">'+
'<DIVI ID="01" NAME="开发部">'+
'<SECT ID="011" NAME="项目组" />'+
'<SECT ID="012" NAME="维护组" />'+
'</DIVI>'+
'<DIVI ID="02" NAME="工程部">'+
'<SECT ID="021" NAME="系统组" />'+
'</DIVI>'+
'</DEPT>'+
'<DEPT ID="2" NAME="运输部">'+
'<DIVI ID="21" NAME="租船处">'+
'<SECT ID="211" NAME="租船一科" />'+
'<SECT ID="212" NAME="租船二科" />'+
'</DIVI>'+
'<DIVI ID="22" NAME="业务处">'+
'<SECT ID="221" NAME="业务科" />'+
'<SECT ID="222" NAME="使费科" />'+
'</DIVI>'+
'<DIVI ID="23" NAME="商务处">'+
'<SECT ID="231" NAME="运费科" />'+
'<SECT ID="232" NAME="保赔科" />'+
'</DIVI>'+
'<DIVI ID="24" NAME="安监处">'+
'<SECT ID="241" NAME="调度庢" />'+
'<SECT ID="242" NAME="海监科" />'+
'<SECT ID="243" NAME="航保科" />'+
'<SECT ID="244" NAME="综合科" />'+
'</DIVI>'+
'</DEPT>'+
'</DEPT_DIVI_SECT>';
/*选择部门
id是用于区分同一个页面里多组这样的联动下拉列表框*/
function ChooseDept(id)
{
var selDept;
if(id==0)
selDept=frmPrograms.selDept;
else
selDept=frmPrograms.selDept1;
//var sourceName = "./dept_divi_sect.php";
//用于生成xml的程序文件,
//这里我为了大家有一个直观的感觉,写了一段示例XML代替,
//如果要加载XML文件,下面就改用load()。
var source = new ActiveXObject('Microsoft.XMLDOM');
source.async = false;
//source.load(sourceName);
source.loadXML(dept_divi_sect);
root = source.documentElement;
sortFieldText=root.selectNodes("/DEPT_DIVI_SECT/DEPT/@NAME");
sortFieldValue=root.selectNodes("/DEPT_DIVI_SECT/DEPT/@ID");
var oOption = document.createElement('OPTION');
oOption.text = " 请选择 ";
oOption.value = "-1";
selDept.options.add(oOption);
for(var i=0;i<sortFieldText.length;++i)
{
var oOption = document.createElement('OPTION');
oOption.text = " "+sortFieldText[i].text+" ";
oOption.value = sortFieldValue[i].text;
selDept.options.add(oOption);
}
ChooseDivi(id);
}
/*选择处室*/
function ChooseDivi(id)
{
var selDept;
var selDivi;
if(id==0)
{
selDept=frmPrograms.selDept;
selDivi=frmPrograms.selDivi;
}
else
{
selDept=frmPrograms.selDept1;
selDivi=frmPrograms.selDivi1;
}
x=selDept.selectedIndex;
y=selDept.options[x].value;
sortFieldText=root.selectNodes("/DEPT_DIVI_SECT/DEPT[@ID='"+y+"']/DIVI/@NAME");
sortFieldValue=root.selectNodes("/DEPT_DIVI_SECT/DEPT[@ID='"+y+"']/DIVI/@ID");
for(var i=selDivi.options.length-1;i>=0;--i)
{
selDivi.options.remove(i)
}
var oOption = document.createElement('OPTION');
oOption.text = " 请选择 ";
oOption.value = "-1";
selDivi.options.add(oOption);
for(i=0;i<sortFieldText.length;++i)
{
var oOption = document.createElement('OPTION');
oOption.text = " "+sortFieldText[i].text+" ";
oOption.value = sortFieldValue[i].text;
selDivi.options.add(oOption);
}
ChooseSect(id);
}
/*选择科室*/
function ChooseSect(id)
{
var selDept;
var selDivi;
var selSect;
if(id==0)
{
selDept=frmPrograms.selDept;
selDivi=frmPrograms.selDivi;
selSect=frmPrograms.selSect;
}
else
{
selDept=frmPrograms.selDept1;
selDivi=frmPrograms.selDivi1;
selSect=frmPrograms.selSect1;
}
x1=selDept.selectedIndex;
y1=selDept.options[x1].value;
x2=selDivi.selectedIndex;
y2=selDivi.options[x2].value;
if(x2==0)
{
sortFieldText=root.selectNodes("/DEPT_DIVI_SECT/DEPT[@ID='"+y1+"']//SECT/@NAME");
sortFieldValue=root.selectNodes("/DEPT_DIVI_SECT/DEPT[@ID='"+y1+"']//SECT/@ID");
}
else
{
sortFieldText=root.selectNodes("/DEPT_DIVI_SECT/DEPT[@ID='"+y1+"']/DIVI[@ID='"+y2+"']/SECT/@NAME");
sortFieldValue=root.selectNodes("/DEPT_DIVI_SECT/DEPT[@ID='"+y1+"']/DIVI[@ID='"+y2+"']/SECT/@ID");
}
for(var i=selSect.options.length-1;i>=0;--i)
{
selSect.options.remove(i)
}
var oOption = document.createElement('OPTION');
oOption.text = " 请选择 ";
oOption.value = "-1";
selSect.options.add(oOption);
for(i=0;i<sortFieldText.length;++i)
{
var oOption = document.createElement('OPTION');
oOption.text = " "+sortFieldText[i].text+" ";
oOption.value = sortFieldValue[i].text;
selSect.options.add(oOption);
}
}
</script>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="ChooseDept(0);ChooseDept(1)">
<form name="frmPrograms" method="post" action="">
<table width="100%" border="0" cellpadding="5" cellspacing="1">
<tr>
<td> <div align="left"> 部门名称
<select name="selDept" id="select2" onChange="ChooseDivi(0)">
</select>
<select name="selDept1" id="select" onChange="ChooseDivi(1)">
</select>
</div></td>
</tr>
<tr>
<td> 处室名称
<select name="selDivi" id="select4" onChange="ChooseSect(0)">
</select>
<select name="selDivi1" id="select3" onChange="ChooseSect(1)">
</select></td>
</tr>
<tr>
<td> 科室名称
<select name="selSect" id="select5">
</select>
<select name="selSect1" id="select6">
</select></td>
</tr>
</table>
</form>
</body>
</html>