<select id="level1" onchange="fReset(this.id)">
<option value="-1">未选择</option>
<option value="P_CODE1">P_CODE1</option>
<option value="P_CODE2">P_CODE2</option>
<option value="P_CODE3">P_CODE3</option>
<option value="P_CODE4">P_CODE4</option>
<option value="P_CODE5">P_CODE5</option>
</select>
<select id="level2"onchange="fReset(this.id)">
<option value="-1">未选择</option>
<option value="P_CODE1">P_CODE1</option>
<option value="P_CODE2">P_CODE2</option>
<option value="P_CODE3">P_CODE3</option>
<option value="P_CODE4">P_CODE4</option>
<option value="P_CODE5">P_CODE5</option>
</select>
<select id="level3"onchange="fReset(this.id)">
<option value="-1">未选择</option>
<option value="P_CODE1">P_CODE1</option>
<option value="P_CODE2">P_CODE2</option>
<option value="P_CODE3">P_CODE3</option>
<option value="P_CODE4">P_CODE4</option>
<option value="P_CODE5">P_CODE5</option>
</select>
<scripit language="javascript">
function fReset(objectid)
{
     var ValueArray = new Array("P_CODE1","P_CODE2"...);
var objecttext=document.getElementById(objectid).options[document.getElementById(objectid).selectedIndex].innerText;
var line=new Array();
var listleng=ValueArray.length;
if(objectid=="level1")
{
line[1]=objecttext;
line[2]=document.getElementById("level2").options[document.getElementById("selLine2").selectedIndex].innerText;
line[3]=document.getElementById("level3").options[document.getElementById("selLine3").selectedIndex].innerText;
}
else if(objectid=="level2")
{
line[1]=document.getElementById("level1").options[document.getElementById("selLine1").selectedIndex].innerText;
line[3]=document.getElementById("level3").options[document.getElementById("selLine3").selectedIndex].innerText;
line[2]=objecttext;
}
else
{
line[1]=document.getElementById("level1").options[document.getElementById("selLine1").selectedIndex].innerText;
line[2]=document.getElementById("level3").options[document.getElementById("selLine2").selectedIndex].innerText;
line[3]=objecttext;
}
    for(var j=1;j<4;j++)
{
document.all("level"+j).options.length=0;
var oOption = document.createElement("OPTION");
document.all("level"+j).options.add(oOption);
oOption.innerText = "未选择";
oOption.value = -1;
for(var i = 0;i < listleng; i ++ )
{
var oOption = document.createElement("OPTION");
document.all("level"+j).options.add(oOption);
oOption.innerText = ValueArray[i];
oOption.value = i;
if( oOption.innerText == line[j])
{
oOption.selected=true;
}
}
}
for( var r=1;r<4;r++)
{
for(var m=1;m<4;m++)
{
if( m != r )
{
if(line[m]!="未选择")
{
for(var i = 0;i < document.all("level"+r).options.length ; i ++ )
{
if(document.all("level"+r).options[i].text==line[m])
{
document.all("level"+r).options[i]=null;
}
}
}
}
}

}
</script>曾经做过的改了改,你应该可以看懂。