要实现:点1可以联动2且联动3
你要是不去点击2,要是2里面有多个又怎么去确定三了;
除非,1只对应2.1(只有1个),然后2.1只对应有3.1(只有一个),
这样点1后,就能联动1->2.1->3.1;

解决方案 »

  1.   

    如果不去触发2的话,那2后面有的全都追加到3后面了,除非你特指2当中的某一个,可这可能失去了级联的功效,(例子中是加了一个全局变量(sign)阻止了2后面有子结点(例子中只追加了441的)全都加到3后面)
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <meta http-equiv="content-type" content="text/html" charset="utf-8">
    <link rel="stylesheet" type="text/css" href="">
    <script type="text/javascript" src=""></script>
    <script language="javascript" type="text/javascript"></script>
    <script language = "JavaScript">
    var sign = 0;
    var onecount;
    onecount=0;
    subcat = new Array();
    subcat[0] = new Array("海尔","0","434");
    subcat[1] = new Array("波创","0","435");
    subcat[2] = new Array("索博","0","436");
    subcat[3] = new Array("瑞朗","0","437");
    subcat[4] = new Array("安居宝","0","438");
    subcat[5] = new Array("雨读","0","439");
    subcat[6] = new Array("三本","0","440");
    subcat[7] = new Array("灯光窗帘","434","441");
    subcat[8] = new Array("环境检测","434","442");
    subcat[9] = new Array("家庭安防","434","443");
    subcat[10] = new Array("家庭网关","434","444");
    subcat[11] = new Array("可视对讲","434","445");
    subcat[12] = new Array("媒体娱乐","434","446");
    subcat[13] = new Array("网络家电","434","447");
    subcat[14] = new Array("网络冰箱","447","448");
    subcat[15] = new Array("网络空调","447","449");
    subcat[16] = new Array("网络热水器","447","450");
    subcat[17] = new Array("网络微波炉","447","451");
    subcat[18] = new Array("网络吸油烟机","447","452");
    subcat[19] = new Array("网络洗碗机","447","453");
    subcat[20] = new Array("网络洗衣机","447","454");
    subcat[21] = new Array("智能开关","435","457");
    subcat[22] = new Array("智能插座","435","458");
    subcat[23] = new Array("远程控制","435","459");
    subcat[24] = new Array("智能遥控","435","460");
    subcat[25] = new Array("智能模块","435","461");
    subcat[26] = new Array("智能网关","435","462");
    subcat[27] = new Array("安防","436","463");
    subcat[28] = new Array("窗帘控制","436","464");
    subcat[29] = new Array("电脑控制","436","465");
    subcat[30] = new Array("定时控制","436","466");
    subcat[31] = new Array("概念产品","436","467");
    subcat[32] = new Array("家庭娱乐","436","468");
    subcat[33] = new Array("接收模块","436","469");
    subcat[34] = new Array("净化电力线","436","470");
    subcat[35] = new Array("墙上开关","436","471");
    subcat[36] = new Array("墙上控制","436","472");
    subcat[37] = new Array("随意插接收","436","473");
    subcat[38] = new Array("随意插控制","436","474");
    subcat[39] = new Array("无线","436","475");
    subcat[40] = new Array("远程控制","436","476");
    subcat[41] = new Array("载波信号分析","436","477");
    subcat[42] = new Array("安防报警","437","478");
    subcat[43] = new Array("宠物喂食","437","479");
    subcat[44] = new Array("电动窗帘","437","480");
    subcat[45] = new Array("电器控制","437","481");
    subcat[46] = new Array("家居布线","437","482");
    subcat[47] = new Array("系统保障","437","483");
    subcat[48] = new Array("智能控制","437","484");
    subcat[49] = new Array("智能照明","437","485");
    subcat[50] = new Array("主机","438","486");
    subcat[51] = new Array("停车场","438","487");
    subcat[52] = new Array("管理机","438","488");
    subcat[53] = new Array("分机","438","489");
    subcat[54] = new Array("其他","438","490");
    subcat[55] = new Array("中央音响","439","491");
    subcat[56] = new Array("智能弱电箱","439","492");
    subcat[57] = new Array("智能AV","439","493");
    subcat[58] = new Array("音视频面板","439","494");
    subcat[59] = new Array("灵慧眼","439","495");
    subcat[60] = new Array("多媒体点播中心","439","496");
    subcat[61] = new Array("智能遥控窗门窗帘","440","497");
    subcat[62] = new Array("单窗门单窗帘","440","498");
    subcat[63] = new Array("双窗门双窗帘","440","500");
    subcat[64] = new Array("灯光窗帘31level","441","501");
    subcat[65] = new Array("灯光窗帘32level","441","502");
    subcat[66] = new Array("灯光窗帘33level","441","503");
    onecount=67;
    function changelocation(locationid,Category_Search)
    {
    //alert('这里是什么'+Category_Search);
    strobj=eval(document.getElementById(Category_Search));
    strobj3 = document.getElementById('Category_Search_3');
    strobj.length = 0;
    var locationid=locationid;
    var i;
    for (i=0;i < onecount; i++)
    {
    if (subcat[i][1] == locationid)
    {
    strobj.options[strobj.length] = new Option(subcat[i][0], subcat[i][2]);

    if (sign != 1)
    {
    for (j=0;j < onecount; j++)
    {
    if (subcat[j][1] == subcat[i][2])
    {
    strobj3.options[strobj3.length] = new Option(subcat[j][0], subcat[j][2]);
    }
    sign = 1;
    }
    }
    }
    }
    }
    </script>
    </HEAD><BODY>
    <table width="200" cellspacing="0" cellpadding="0" align="center" style="border:1px solid #666666">
    <form action="Product_List.asp" method="get" name="form1">
    <tr>
    <td height="56"><div align="center">
    <table width="200" border="0" cellspacing="1" bgcolor="#CCCCCC">
    <tr bgcolor="#FFFFFF">
    <td width="189" nowrap="nowrap">产品品牌:
    <select name="Category_Search_1" id="Category_Search_1" onChange="changelocation(this.options[this.selectedIndex].value,'Category_Search_2')" style="width:100px">
    <option>-请选择-</option>
    <option value="434" >海尔</option>
    <option value="435" >波创</option>
    <option value="436" >索博</option>
    <option value="437" >瑞朗</option>
    <option value="438" >安居宝</option>
    <option value="439" >雨读</option>
    <option value="440" >三本</option>
    </select>
    </td>
    </tr>
    <tr bgcolor="#FFFFFF">
    <td nowrap="nowrap">产品系统:
    <select name="Category_Search_2" id="Category_Search_2" onChange="changelocation(this.options[this.selectedIndex].value,'Category_Search_3')" style="width:100px">
    <option>-请选择-</option>
    </select>
    </td>
    </tr>
    <tr bgcolor="#FFFFFF">
    <td nowrap="nowrap">产品类别:
    <select name="Category_Search_3" id="Category_Search_3" style="width:100px">
    </select></td>
    </tr>
    </table>
    </div></td>
    </tr>
    </form>
    </table>
    </BODY>
    </HTML>
      

  2.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function CreateSelect(_FormName,_SName,_SValue,_Ds,_AllOptionStr,ShowType)
    {
    if (_FormName=="")
    _FormName = "all"
    var _DsArr = _Ds.split("|")
    var _Ds1,_Ds2,_Ds3
    var _Ds1 = _DsArr[0]
    var _Ds2 = (_DsArr.length>1)?_DsArr[1]:_DsArr[0]
    var _Ds3 = (_DsArr.length>2)?_DsArr[2]:_DsArr[0]var _SNameArr = _SName.split("|")
    var _SName1,_SName2,_SName3
    var _SName1 = _SNameArr[0]
    var _SName2 = (_SNameArr.length>1)?_SNameArr[1]:_SNameArr[0]
    var _SName3 = (_SNameArr.length>2)?_SNameArr[2]:_SNameArr[0]var _SValueArr = _SValue.split("|")
    var _SValue1,_SValue2,_SValue3
    var _SValue1 = _SValueArr[0]
    var _SValue2 = (_SValueArr.length>1)?_SValueArr[1]:_SValueArr[0]
    var _SValue3 = (_SValueArr.length>2)?_SValueArr[2]:_SValueArr[0]if (ShowType==3){
    _AllOptionStr = _AllOptionStr.replace(/\(\(/ig,"\(\("+_Ds3+"\^")
    _AllOptionStr = _AllOptionStr.replace(/\{\{/ig,"\{\{"+_Ds2+"\(\("+_Ds3+"\*\*")
    }
    else if(ShowType==2){
    _AllOptionStr = _AllOptionStr.replace(/\{\{/ig,"\{\{"+_Ds2+"\(\("+_Ds3+"\*\*")
    }
    else if(ShowType==1){
    _AllOptionStr = _AllOptionStr.replace(/\(\(/ig,"\(\("+_Ds3+"\^")
    }
    var AllStr = _Ds1 + "{{"+ _Ds2 + "(("+ _Ds3 +"||"+_AllOptionStr
    //alert(AllStr)
    var _AR0 = AllStr.split("||");
    document.writeln("<select name=\"" + _SName1 + "\" size=\"1\" onChange=\""+_SName1+"redirect(this.options.selectedIndex)\">");
    for (var i1 = 0;i1 < _AR0.length;i1++)
    {
    var Area1Str = _AR0[i1];
    var _AR10 = Area1Str.split("{{");
    var _AR11 = _AR10[0].split("@");
    var Tstr1 = _AR11[0];
    var Vstr1 = (_AR11.length==2)?_AR11[1]:_AR11[0]
    document.writeln("<option value="+Vstr1+">"+Tstr1+" "+Vstr1+"<\/option>");
    }
    document.writeln("<\/select>");document.writeln("<select name=\"" + _SName2 + "\" size=\"1\" onChange=\""+_SName1+"redirect1(this.options.selectedIndex)\">");
    var _AR111 = _Ds2.split("@");
    var Tstr11 = _AR111[0];
    var Vstr11 = (_AR111.length==2)?_AR111[1]:_AR111[0];
    document.writeln("<option value="+Vstr11+">"+Tstr11+" "+Vstr11+"kkk<\/option>");
    document.writeln("<\/select>");document.writeln("<select name=\"" + _SName3 + "\" size=\"1\">");
    var _AR222 = _Ds3.split("@");
    var Tstr22 = _AR222[0];
    var Vstr22 = (_AR222.length==2)?_AR222[1]:_AR222[0];
    document.writeln("<option value="+Vstr22+">"+Tstr22+" "+Vstr22+"<\/option>");
    document.writeln("<\/select>");document.writeln("<S"+"CRIPT LANGUAGE=\"JavaScript\" defer>");
    document.writeln("<!--");
    document.writeln("var "+_SName1+"NewAllStr = \""+ AllStr +"\"");
    document.writeln("var "+_SName1+"_AR0 = "+_SName1+"NewAllStr.split(\"||\");");
    document.writeln("var "+_SName1+"groups=document."+ _FormName +"." + _SName1 + ".options.length;");
    document.writeln("var "+_SName1+"group=new Array("+_SName1+"groups)");
    document.writeln("for (i=0; i<"+_SName1+"groups; i++){");
    document.writeln(""+_SName1+"group[i]=new Array();");
    document.writeln("}");
    document.writeln("for (var i1 = 0;i1 < "+_SName1+"_AR0.length;i1++){");
    document.writeln("var Area1Str = "+_SName1+"_AR0[i1];");
    document.writeln("var _AR10 = Area1Str.split(\"{{\");");
    document.writeln("var _AR12 = _AR10[1].split(\"**\");");
    document.writeln("for (var i2 = 0;i2 < _AR12.length;i2++){");
    document.writeln("var Area2Str = _AR12[i2];");
    document.writeln("var _AR20 = Area2Str.split(\"((\");");
    document.writeln("var _AR211 = _AR20[0].split(\"@\");");
    document.writeln("var Tstr2 = _AR211[0];");
    document.writeln("var Vstr2 = (_AR211.length==2)?_AR211[1]:_AR211[0];");
    document.writeln(""+_SName1+"group[i1][i2]=new Option(Tstr2,Vstr2);");
    document.writeln("}");
    document.writeln("}");
    document.writeln("var "+_SName1+"temp = document."+ _FormName +"." + _SName2);
    document.writeln("function "+_SName1+"redirect(x){");
    document.writeln("for (m="+_SName1+"temp.options.length-1;m>0;m--)");
    document.writeln(""+_SName1+"temp.options[m]=null;");
    document.writeln("for (i=0;i<"+_SName1+"group[x].length;i++){");
    document.writeln(""+_SName1+"temp.options[i]=new Option("+_SName1+"group[x][i].text,"+_SName1+"group[x][i].value);");
    document.writeln("}");
    document.writeln(""+_SName1+"temp.options[0].selected=true");
    document.writeln(""+_SName1+"redirect1(0)");
    document.writeln("}");
    document.writeln("var "+_SName1+"Group2s=document."+ _FormName +"." + _SName2 + ".options.length;");
    document.writeln("var "+_SName1+"Group2=new Array("+_SName1+"groups);");
    document.writeln("for (i=0; i<"+_SName1+"groups; i++){");
    document.writeln(""+_SName1+"Group2[i]=new Array("+_SName1+"group[i].length)");
    document.writeln("for (j=0; j<"+_SName1+"group[i].length; j++){");
    document.writeln(""+_SName1+"Group2[i][j]=new Array()");
    document.writeln("}");
    document.writeln("}");
    document.writeln("for (var i1 = 0;i1 < "+_SName1+"_AR0.length;i1++){");
    document.writeln("var Area1Str = "+_SName1+"_AR0[i1]");
    document.writeln("var _AR10 = Area1Str.split(\"{{\");");
    document.writeln("var _AR12 = _AR10[1].split(\"**\");");
    document.writeln("for (var i2 = 0;i2 < _AR12.length;i2++){");
    document.writeln("var Area2Str = _AR12[i2]");
    document.writeln("var _AR20 = Area2Str.split(\"((\");");
    document.writeln("_AR212 = _AR20[1].split(\"^\");");
    document.writeln("for (var i3 = 0;i3 < _AR212.length;i3++){");
    document.writeln("Area3Str = _AR212[i3]");
    document.writeln("_AR3 = Area3Str.split(\"@\");");
    document.writeln("Tstr3 = _AR3[0]");
    document.writeln("Vstr3 = (_AR3.length==2)?_AR3[1]:_AR3[0]");
    document.writeln(""+_SName1+"Group2[i1][i2][i3]=new Option(Tstr3,Vstr3);");
    document.writeln("}");
    document.writeln("}");
    document.writeln("}");
    document.writeln("var "+_SName1+"temp1=document."+ _FormName +"." + _SName3 + "");
    document.writeln("function "+_SName1+"redirect1(y){");
    document.writeln("for (m="+_SName1+"temp1.options.length-1;m>0;m--)");
    document.writeln(""+_SName1+"temp1.options[m]=null");
    document.writeln("for (i=0;i<"+_SName1+"Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y].length;i++){");
    document.writeln(""+_SName1+"temp1.options[i]=new Option("+_SName1+"Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y][i].text," + _SName1 + "Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y][i].value)");document.writeln("}");
    document.writeln(""+_SName1+"temp1.options[0].selected=true");
    document.writeln("}");
    document.writeln("\/\/-->");
    document.writeln("<\/script>");
    document.writeln("<s"+"cript language=\"JavaScript\">");
    document.writeln("<!--");
    document.writeln("function "+_SName1+"SetValue(){");
    document.writeln("try{");
    document.writeln("if (\""+_SValue1+"\"!=\"\"){");
    document.writeln("document."+ _FormName +"."+_SName1+".value=\""+_SValue1+"\"");
    document.writeln(""+_SName1+"redirect(document."+ _FormName +"."+_SName1+".options.selectedIndex);");
    document.writeln("if (\""+_SValue2+"\"!=\"\"){");
    document.writeln("document."+ _FormName +"."+_SName2+".value=\""+_SValue2+"\"");
    document.writeln(""+_SName1+"redirect1(document."+ _FormName +"."+_SName2+".options.selectedIndex)");
    document.writeln("if (\""+_SValue3+"\"!=\"\")");
    document.writeln("document."+ _FormName +"."+_SName3+".value=\""+_SValue3+"\"");
    document.writeln("}");
    document.writeln("}");
    document.writeln("}");
    document.writeln("catch(e){");
    document.writeln("}");
    document.writeln("}");
    document.writeln("window.attachEvent(\"onload\","+_SName1+"SetValue)");
    document.writeln("\/\/-->");
    document.writeln("<\/script>");
    }
    //-->
    </script>
      

  3.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var AllStr1 = "东北地区@1{{黑龙江@2((哈尔滨@1^齐齐哈尔@2^牡丹江@3^佳木斯@4^大庆@5^绥化@6^鹤岗@7^鸡西@8^双鸭山@9**吉林@3((长春@10^吉林@11^通化@12**辽宁@4((沈阳@13^大连@14^鞍山@15||华北地区@2 selected{{北京@5((东城@16^西城@17**天津@6 selected((和平@18^东丽@19 selected**山东@7((济南@20^青岛@21^济宁@22^泰安@23^威海@24^烟台@25**河北@8((石家庄@26^邯郸@27**内蒙古@9((呼和浩特@32^包头@33"
    //-->
    </SCRIPT>
    <FORM name="Form1">
    <SCRIPT LANGUAGE="JavaScript">
    CreateSelect("","S_13|S_23|S_33","","请选择地区@|请选择省份@|请选择城市@",AllStr1,0);
    </SCRIPT>
    </FORM>
      

  4.   

    <script language = "JavaScript"> 
     var onecount; 
     onecount=0; 
     subcat = new Array(); 
     subcat[0] = new Array("海尔","0","434"); 
     subcat[1] = new Array("波创","0","435"); 
     subcat[2] = new Array("索博","0","436"); 
     subcat[3] = new Array("瑞朗","0","437"); 
     subcat[4] = new Array("安居宝","0","438"); 
     subcat[5] = new Array("雨读","0","439"); 
     subcat[6] = new Array("三本","0","440"); 
     subcat[7] = new Array("灯光窗帘","434","441"); 
     subcat[8] = new Array("环境检测","434","442"); 
     subcat[9] = new Array("家庭安防","434","443"); 
     subcat[10] = new Array("家庭网关","434","444"); 
     subcat[11] = new Array("可视对讲","434","445"); 
     subcat[12] = new Array("媒体娱乐","434","446"); 
     subcat[13] = new Array("网络家电","434","447"); 
     subcat[14] = new Array("网络冰箱","447","448"); 
     subcat[15] = new Array("网络空调","447","449"); 
     subcat[16] = new Array("网络热水器","447","450"); 
     subcat[17] = new Array("网络微波炉","447","451"); 
     subcat[18] = new Array("网络吸油烟机","447","452"); 
     subcat[19] = new Array("网络洗碗机","447","453"); 
     subcat[20] = new Array("网络洗衣机","447","454"); 
     subcat[21] = new Array("智能开关","435","457"); 
     subcat[22] = new Array("智能插座","435","458"); 
     subcat[23] = new Array("远程控制","435","459"); 
     subcat[24] = new Array("智能遥控","435","460"); 
     subcat[25] = new Array("智能模块","435","461"); 
     subcat[26] = new Array("智能网关","435","462"); 
     subcat[27] = new Array("安防","436","463"); 
     subcat[28] = new Array("窗帘控制","436","464"); 
     subcat[29] = new Array("电脑控制","436","465"); 
     subcat[30] = new Array("定时控制","436","466"); 
     subcat[31] = new Array("概念产品","436","467"); 
     subcat[32] = new Array("家庭娱乐","436","468"); 
     subcat[33] = new Array("接收模块","436","469"); 
     subcat[34] = new Array("净化电力线","436","470"); 
     subcat[35] = new Array("墙上开关","436","471"); 
     subcat[36] = new Array("墙上控制","436","472"); 
     subcat[37] = new Array("随意插接收","436","473"); 
     subcat[38] = new Array("随意插控制","436","474"); 
     subcat[39] = new Array("无线","436","475"); 
     subcat[40] = new Array("远程控制","436","476"); 
     subcat[41] = new Array("载波信号分析","436","477"); 
     subcat[42] = new Array("安防报警","437","478"); 
     subcat[43] = new Array("宠物喂食","437","479"); 
     subcat[44] = new Array("电动窗帘","437","480"); 
     subcat[45] = new Array("电器控制","437","481"); 
     subcat[46] = new Array("家居布线","437","482"); 
     subcat[47] = new Array("系统保障","437","483"); 
     subcat[48] = new Array("智能控制","437","484"); 
     subcat[49] = new Array("智能照明","437","485"); 
     subcat[50] = new Array("主机","438","486"); 
     subcat[51] = new Array("停车场","438","487"); 
     subcat[52] = new Array("管理机","438","488"); 
     subcat[53] = new Array("分机","438","489"); 
     subcat[54] = new Array("其他","438","490"); 
     subcat[55] = new Array("中央音响","439","491"); 
     subcat[56] = new Array("智能弱电箱","439","492"); 
     subcat[57] = new Array("智能AV","439","493"); 
     subcat[58] = new Array("音视频面板","439","494"); 
     subcat[59] = new Array("灵慧眼","439","495"); 
     subcat[60] = new Array("多媒体点播中心","439","496"); 
     subcat[61] = new Array("智能遥控窗门窗帘","440","497"); 
     subcat[62] = new Array("单窗门单窗帘","440","498"); 
     subcat[63] = new Array("双窗门双窗帘","440","500"); 
     onecount=64; 
     function changelocation(locationid,Category_Search) 
       { 
       //alert('这里是什么'+Category_Search);
       strobj=eval(document.getElementById(Category_Search));
       strobj.length = 0;  
       var locationid=locationid; 
       var i; 
       for (i=0;i < onecount; i++) 
         { 
         if (i== 0)  
            {  
              strobj.options[strobj.length] = new Option("-请选择 -", "");  
            } 
           if (subcat[i][1] == locationid) 
           {  
             strobj.options[strobj.length] = new Option(subcat[i][0], subcat[i][2]); 
           }     
         } 
     strobj.onchange
       }   
     </script><table width="200" cellspacing="0" cellpadding="0" align="center" style="border:1px  solid  #666666">
      <form action="Product_List.asp" method="get" name="form1">
        <tr>
          <td height="56"><div align="center">
              <table width="200" border="0" cellspacing="1" bgcolor="#CCCCCC">
                <tr bgcolor="#FFFFFF">
                  <td width="189" nowrap="nowrap">产品品牌:
                    <select name="Category_Search_1"  id="Category_Search_1" onChange="changelocation(this.options[this.selectedIndex].value,'Category_Search_2')" style="width:100px">
                      <option>-请选择-</option>
                      <option value="434" >海尔</option>
                      <option value="435" >波创</option>
                      <option value="436" >索博</option>
                      <option value="437" >瑞朗</option>
                      <option value="438" >安居宝</option>
                      <option value="439" >雨读</option>
                      <option value="440" >三本</option>
                    </select>
    </td>
                </tr>
                <tr bgcolor="#FFFFFF">
                  <td nowrap="nowrap">产品系统:
                    <select name="Category_Search_2"  id="Category_Search_2"  onChange="changelocation(this.options[this.selectedIndex].value,'Category_Search_3')"  style="width:100px">
                      <option>-请选择-</option>
                    </select>
                  </td>
                </tr>
                <tr bgcolor="#FFFFFF">
                  <td nowrap="nowrap">产品类别:
                    <select name="Category_Search_3"  id="Category_Search_3"  style="width:100px">
                      <option>-请选择-</option>
                    </select></td>
                </tr>
              </table>
            </div></td>
        </tr>
      </form>
    </table>
      

  5.   

    <!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("华南地区","root","华南地区");
    array[1]=new Array("华北地区","root","华北地区");
    array[2]=new Array("上海","华南地区","上海");
    array[3]=new Array("广东","华南地区","广东");
    array[4]=new Array("徐家汇","上海","徐家汇");
    array[5]=new Array("普托","上海","普托");
    array[6]=new Array("广州","广东","广州");
    array[7]=new Array("湛江","广东","湛江");
    array[8]=new Array("湛江1","湛江","湛江1");
    array[9]=new Array("湛江2","湛江","湛江2");
    array[10]=new Array("广州1","广州","广州1");
    array[11]=new Array("广州2","广州","广州2");var select = new Array("s1","s2","s3","s4");var liandong=new LianDong(array, select)liandong.SetValue('华南地区','广东','广州','广州1');
    //-->
    </script></body>
    </html>
      

  6.   

    <script language = "JavaScript" defer> 
     var onecount; 
     onecount=0; 
     subcat = new Array(); 
     subcat[0] = new Array("海尔","0","434"); 
     subcat[1] = new Array("波创","0","435"); 
     subcat[2] = new Array("索博","0","436"); 
     subcat[3] = new Array("瑞朗","0","437"); 
     subcat[4] = new Array("安居宝","0","438"); 
     subcat[5] = new Array("雨读","0","439"); 
     subcat[6] = new Array("三本","0","440"); 
     subcat[7] = new Array("灯光窗帘","434","441"); 
     subcat[8] = new Array("环境检测","434","442"); 
     subcat[9] = new Array("家庭安防","434","443"); 
     subcat[10] = new Array("家庭网关","434","444"); 
     subcat[11] = new Array("可视对讲","434","445"); 
     subcat[12] = new Array("媒体娱乐","434","446"); 
     subcat[13] = new Array("网络家电","434","447"); 
     subcat[14] = new Array("网络冰箱","447","448"); 
     subcat[15] = new Array("网络空调","447","449"); 
     subcat[16] = new Array("网络热水器","447","450"); 
     subcat[17] = new Array("网络微波炉","447","451"); 
     subcat[18] = new Array("网络吸油烟机","447","452"); 
     subcat[19] = new Array("网络洗碗机","447","453"); 
     subcat[20] = new Array("网络洗衣机","447","454"); 
     subcat[21] = new Array("智能开关","435","457"); 
     subcat[22] = new Array("智能插座","435","458"); 
     subcat[23] = new Array("远程控制","435","459"); 
     subcat[24] = new Array("智能遥控","435","460"); 
     subcat[25] = new Array("智能模块","435","461"); 
     subcat[26] = new Array("智能网关","435","462"); 
     subcat[27] = new Array("安防","436","463"); 
     subcat[28] = new Array("窗帘控制","436","464"); 
     subcat[29] = new Array("电脑控制","436","465"); 
     subcat[30] = new Array("定时控制","436","466"); 
     subcat[31] = new Array("概念产品","436","467"); 
     subcat[32] = new Array("家庭娱乐","436","468"); 
     subcat[33] = new Array("接收模块","436","469"); 
     subcat[34] = new Array("净化电力线","436","470"); 
     subcat[35] = new Array("墙上开关","436","471"); 
     subcat[36] = new Array("墙上控制","436","472"); 
     subcat[37] = new Array("随意插接收","436","473"); 
     subcat[38] = new Array("随意插控制","436","474"); 
     subcat[39] = new Array("无线","436","475"); 
     subcat[40] = new Array("远程控制","436","476"); 
     subcat[41] = new Array("载波信号分析","436","477"); 
     subcat[42] = new Array("安防报警","437","478"); 
     subcat[43] = new Array("宠物喂食","437","479"); 
     subcat[44] = new Array("电动窗帘","437","480"); 
     subcat[45] = new Array("电器控制","437","481"); 
     subcat[46] = new Array("家居布线","437","482"); 
     subcat[47] = new Array("系统保障","437","483"); 
     subcat[48] = new Array("智能控制","437","484"); 
     subcat[49] = new Array("智能照明","437","485"); 
     subcat[50] = new Array("主机","438","486"); 
     subcat[51] = new Array("停车场","438","487"); 
     subcat[52] = new Array("管理机","438","488"); 
     subcat[53] = new Array("分机","438","489"); 
     subcat[54] = new Array("其他","438","490"); 
     subcat[55] = new Array("中央音响","439","491"); 
     subcat[56] = new Array("智能弱电箱","439","492"); 
     subcat[57] = new Array("智能AV","439","493"); 
     subcat[58] = new Array("音视频面板","439","494"); 
     subcat[59] = new Array("灵慧眼","439","495"); 
     subcat[60] = new Array("多媒体点播中心","439","496"); 
     subcat[61] = new Array("智能遥控窗门窗帘","440","497"); 
     subcat[62] = new Array("单窗门单窗帘","440","498"); 
     subcat[63] = new Array("双窗门双窗帘","440","500"); 
      subcat[64] = new Array("单窗门单窗帘1","441","501"); 
     subcat[65] = new Array("双窗门双窗帘1","441","502"); 
     onecount=66; 
     function changelocation(locationid,Category_Search) 
       { 
       //alert('这里是什么'+Category_Search);
       if(Category_Search=="Category_Search_2"){
       strobj=eval(document.getElementById(Category_Search));
       strobj3=eval(document.getElementById("Category_Search_3"));
       strobj.length = 0;
       strobj3.length = 0;
       var locationid=locationid; 
       var i; 
       for (i=0;i < onecount; i++) 
     { 
       if (subcat[i][1] == locationid){  
     strobj.options[strobj.length] = new Option(subcat[i][0], subcat[i][2]);
       } 

    for (j=0;j < onecount; j++){ 
       if (subcat[j][1] ==strobj.options[0].value){  
       strobj3.options[strobj3.length] = new Option(subcat[j][0], subcat[j][2]);
       }     
     }  
    }else{
      strobj=eval(document.getElementById(Category_Search));
       strobj.length = 0;
       var locationid=locationid; 
       var i; 
       for (i=0;i < onecount; i++) 
     { 
       if (subcat[i][1] == locationid){  
     strobj.options[strobj.length] = new Option(subcat[i][0], subcat[i][2]);
       } 

    }
       }   
     </script><table width="200" cellspacing="0" cellpadding="0" align="center" style="border:1px  solid  #666666">
      <form action="Product_List.asp" method="get" name="form1">
        <tr>
          <td height="56"><div align="center">
              <table width="200" border="0" cellspacing="1" bgcolor="#CCCCCC">
                <tr bgcolor="#FFFFFF">
                  <td width="189" nowrap="nowrap">产品品牌:
                    <select name="Category_Search_1"  id="Category_Search_1" onChange="changelocation(this.options[this.selectedIndex].value,'Category_Search_2')" style="width:100px">
                      <option>-请选择-</option>
                      <option value="434" >海尔</option>
                      <option value="435" >波创</option>
                      <option value="436" >索博</option>
                      <option value="437" >瑞朗</option>
                      <option value="438" >安居宝</option>
                      <option value="439" >雨读</option>
                      <option value="440" >三本</option>
                    </select>
    </td>
                </tr>
                <tr bgcolor="#FFFFFF">
                  <td nowrap="nowrap">产品系统:
                    <select name="Category_Search_2"  id="Category_Search_2"  onChange="changelocation(this.options[this.selectedIndex].value,'Category_Search_3')"  style="width:100px">
                    </select>
                  </td>
                </tr>
                <tr bgcolor="#FFFFFF">
                  <td nowrap="nowrap">产品类别:
                    <select name="Category_Search_3"  id="Category_Search_3"  style="width:100px">
                    </select></td>
                </tr>
              </table>
            </div></td>
        </tr>
      </form>
    </table>
      

  7.   

    这是个例子,你可以参考下:
    <FORM name="isc">
    <table border="0" cellspacing="0" cellpadding="0">
      <tr align="center"> 
        <td nowrap height="11"> &nbsp;<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
    <option selected>---Select1-------------</option>
    <option>Webmaster Sites</option>
    <option>News Sites</option>
    </select><select name="stage2" size="1" onChange="redirect1(this.options.selectedIndex)">
    <option value=" " selected> </option>
    <option value=" " selected>---Select2--------------</option>
    <option value=" " selected>---Select2--------------</option>
    </select><select name="stage3" size="1" onChange="redirect2(this.options.selectedIndex)">
    <option value=" " selected> </option>
    <option value=" " selected>---Select3----------------</option>
    <option value=" " selected>---Select3----------------</option>
    </select><script>
    <!--/*
    Triple Combo Script Credit
    By Hamid Cheheltani/ Website Abstraction (http://www.wsabstract.com)
    Visit http://wsabstract.com for this and over 400+ other scripts
    */var groups=document.isc.example.options.length
    var group=new Array(groups)
    for (i=0; i<groups; i++)
    group[i]=new Array()group[0][0]=new Option("---Select2---"," ");group[1][0]=new Option("Now Select This One"," ");
    group[1][1]=new Option("JavaScript","47");
    group[1][2]=new Option("DHTML","46");
    group[1][3]=new Option("CGI","45");group[2][0]=new Option("Now Select This One"," ");
    group[2][1]=new Option("General News","115");
    group[2][2]=new Option("Technology News","116"); var temp=document.isc.stage2
    function redirect(x){
    for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null
    for (i=0;i<group[x].length;i++){
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)
    }
    temp.options[0].selected=true
    redirect1(0)
    }var secondGroups=document.isc.stage2.options.length
    var secondGroup=new Array(groups)
    for (i=0; i<groups; i++)  {
    secondGroup[i]=new Array(group[i].length)
    for (j=0; j<group[i].length; j++)  {
    secondGroup[i][j]=new Array()  }}secondGroup[0][0][0]=new Option("---Select 3---"," ");
    secondGroup[1][0][0]=new Option("---Select 3---"," ");
    secondGroup[1][1][0]=new Option("Now Select This One"," ");
    secondGroup[1][1][1]=new Option("Website Abstraction","http://wsabstract.com");
    secondGroup[1][1][2]=new Option("JavaScript for the non programmer","http://webteacher.com/javascript/");
    secondGroup[1][1][3]=new Option("Java-Scripts.net","http://java-scripts.net");secondGroup[1][2][0]=new Option("Now Select This One"," ");
    secondGroup[1][2][1]=new Option("Dynamic Drive","http://www.dynamicdrive.com");
    secondGroup[1][2][2]=new Option("Beginner\'s Guide to DHTML","http://www.geocities.com/ResearchTriangle/Facility/4490/");
    secondGroup[1][2][3]=new Option("Web Coder","http://webcoder.com/");secondGroup[1][3][0]=new Option("Now Select This One"," ");
    secondGroup[1][3][1]=new Option("CGI Resources","http://www.cgi-resources.com");
    secondGroup[1][3][2]=new Option("Ada\'s Intro to CGI","http://adashimar.hypermart.net/");secondGroup[2][0][0]=new Option("---Select 3---"," ");
    secondGroup[2][1][0]=new Option("Now Select This One"," ");
    secondGroup[2][1][1]=new Option("CNN","http://www.cnn.com");
    secondGroup[2][1][2]=new Option("MSNBC","http://www.msnbc.com");
    secondGroup[2][1][3]=new Option("ABC News","http://www.abcnews.com");secondGroup[2][2][0]=new Option("Now Select A Page"," ");
    secondGroup[2][2][1]=new Option("News.com","http://www.news.com");
    secondGroup[2][2][2]=new Option("Wired","http://www.wired.com");var temp1=document.isc.stage3
    function redirect1(y){
    for (m=temp1.options.length-1;m>0;m--)
    temp1.options[m]=null
    for (i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){
    temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)
    }
    temp1.options[0].selected=true
    }function redirect2(z){
    window.location=temp1[z].value
    }//-->
    </script> </td>
      </tr>
    </table>
    </FORM><p><font face="arial" size="-2">This free script provided by</font><br>
    <font face="arial, helvetica" size="-2"><a href="http://wsabstract.com">Website
    Abstraction</a></font></p>
      

  8.   

    <script language = "JavaScript"> 
     var onecount; 
     onecount=0; 
     subcat = new Array(); 
     subcat[0] = new Array("海尔","0","434"); 
     subcat[1] = new Array("波创","0","435"); 
     subcat[2] = new Array("索博","0","436"); 
     subcat[3] = new Array("瑞朗","0","437"); 
     subcat[4] = new Array("安居宝","0","438"); 
     subcat[5] = new Array("雨读","0","439"); 
     subcat[6] = new Array("三本","0","440"); 
     subcat[7] = new Array("灯光窗帘","434","441"); 
     subcat[8] = new Array("环境检测","434","442"); 
     subcat[9] = new Array("家庭安防","434","443"); 
     subcat[10] = new Array("家庭网关","434","444"); 
     subcat[11] = new Array("可视对讲","434","445"); 
     subcat[12] = new Array("媒体娱乐","434","446"); 
     subcat[13] = new Array("网络家电","434","447"); 
     subcat[14] = new Array("网络冰箱","447","448"); 
     subcat[15] = new Array("网络空调","447","449"); 
     subcat[16] = new Array("网络热水器","447","450"); 
     subcat[17] = new Array("网络微波炉","447","451"); 
     subcat[18] = new Array("网络吸油烟机","447","452"); 
     subcat[19] = new Array("网络洗碗机","447","453"); 
     subcat[20] = new Array("网络洗衣机","447","454"); 
     subcat[21] = new Array("智能开关","435","457"); 
     subcat[22] = new Array("智能插座","435","458"); 
     subcat[23] = new Array("远程控制","435","459"); 
     subcat[24] = new Array("智能遥控","435","460"); 
     subcat[25] = new Array("智能模块","435","461"); 
     subcat[26] = new Array("智能网关","435","462"); 
     subcat[27] = new Array("安防","436","463"); 
     subcat[28] = new Array("窗帘控制","436","464"); 
     subcat[29] = new Array("电脑控制","436","465"); 
     subcat[30] = new Array("定时控制","436","466"); 
     subcat[31] = new Array("概念产品","436","467"); 
     subcat[32] = new Array("家庭娱乐","436","468"); 
     subcat[33] = new Array("接收模块","436","469"); 
     subcat[34] = new Array("净化电力线","436","470"); 
     subcat[35] = new Array("墙上开关","436","471"); 
     subcat[36] = new Array("墙上控制","436","472"); 
     subcat[37] = new Array("随意插接收","436","473"); 
     subcat[38] = new Array("随意插控制","436","474"); 
     subcat[39] = new Array("无线","436","475"); 
     subcat[40] = new Array("远程控制","436","476"); 
     subcat[41] = new Array("载波信号分析","436","477"); 
     subcat[42] = new Array("安防报警","437","478"); 
     subcat[43] = new Array("宠物喂食","437","479"); 
     subcat[44] = new Array("电动窗帘","437","480"); 
     subcat[45] = new Array("电器控制","437","481"); 
     subcat[46] = new Array("家居布线","437","482"); 
     subcat[47] = new Array("系统保障","437","483"); 
     subcat[48] = new Array("智能控制","437","484"); 
     subcat[49] = new Array("智能照明","437","485"); 
     subcat[50] = new Array("主机","438","486"); 
     subcat[51] = new Array("停车场","438","487"); 
     subcat[52] = new Array("管理机","438","488"); 
     subcat[53] = new Array("分机","438","489"); 
     subcat[54] = new Array("其他","438","490"); 
     subcat[55] = new Array("中央音响","439","491"); 
     subcat[56] = new Array("智能弱电箱","439","492"); 
     subcat[57] = new Array("智能AV","439","493"); 
     subcat[58] = new Array("音视频面板","439","494"); 
     subcat[59] = new Array("灵慧眼","439","495"); 
     subcat[60] = new Array("多媒体点播中心","439","496"); 
     subcat[61] = new Array("智能遥控窗门窗帘","440","497"); 
     subcat[62] = new Array("单窗门单窗帘","440","498"); 
     subcat[63] = new Array("双窗门双窗帘","440","500"); 
     onecount=64; 
     function changelocation(locationid,Category_Search) 
       { 
       strobj=eval(document.getElementById(Category_Search));
       strobj.length = 0;  
       var locationid=locationid; 
       var i; 
       for (i=0;i < onecount; i++) 
         { 
         if (i== 0)  
            {  
              strobj.options[strobj.length] = new Option("-请选择 -", "",true);  
            } 
           if (subcat[i][1] == locationid) 
           {  
             strobj.options[strobj.length] = new Option(subcat[i][0], subcat[i][2]); 
           }     
         } 
     strobj.onchange();
       }   
     </script><table width="200" cellspacing="0" cellpadding="0" align="center" style="border:1px  solid  #666666">
      <form action="Product_List.asp" method="get" name="form1">
        <tr>
          <td height="56"><div align="center">
              <table width="200" border="0" cellspacing="1" bgcolor="#CCCCCC">
                <tr bgcolor="#FFFFFF">
                  <td width="189" nowrap="nowrap">产品品牌:
                    <select name="Category_Search_1"  id="Category_Search_1" onChange="changelocation(this.options[this.selectedIndex].value,'Category_Search_2')" style="width:100px">
                      <option>-请选择-</option>
                      <option value="434" >海尔</option>
                      <option value="435" >波创</option>
                      <option value="436" >索博</option>
                      <option value="437" >瑞朗</option>
                      <option value="438" >安居宝</option>
                      <option value="439" >雨读</option>
                      <option value="440" >三本</option>
                    </select>
    </td>
                </tr>
                <tr bgcolor="#FFFFFF">
                  <td nowrap="nowrap">产品系统:
                    <select name="Category_Search_2"  id="Category_Search_2"  onChange="changelocation(this.options[this.selectedIndex].value,'Category_Search_3')"  style="width:100px">
                      <option>-请选择-</option>
                    </select>
                  </td>
                </tr>
                <tr bgcolor="#FFFFFF">
                  <td nowrap="nowrap">产品类别:
                    <select name="Category_Search_3"  id="Category_Search_3"  style="width:100px" onchange="">
                      <option>-请选择-</option>
                    </select></td>
                </tr>
              </table>
            </div></td>
        </tr>
      </form>
    </table>
    <div align="center">终于成功了,使用方法,下拉列表每一个下拉列表下都有一个onchange,除最后一个为空外,其它的都调用一个函数:changelocation参数有两个第一个都是:this.options[this.selectedIndex].value;第二个参数是他的下一级列表的id值(和name值得一样)</div>