看来只有骆驼一个人会了,闪:)

解决方案 »

  1.   

    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    </head>
    <BODY><table width="439" border="0" cellspacing="0" cellpadding="0">
    <tr id="message" style="color:#AAD5FF"><td>位置:</td></tr>
    </table>
    <hr/><table id="level1" width="439" border="0" cellspacing="0" cellpadding="0">
    <tr id="s1">
        </tr>
    </table>
    <hr/>
    <table width="439" border="0" cellspacing="0" cellpadding="0">
    <tr id="s2">
        </tr>
    </table>
    <hr/>
    <table width="439" border="0" cellspacing="0" cellpadding="0">
    <tr id="s3">
        </tr>
    </table><SCRIPT LANGUAGE="JavaScript">
    <!--
    //选择框的名字
    selector = [ "s1", "s2", "s3"];
    //选择项: "名字", "值", 子选择
    menu = [
     "中国","86",
      [
      "北京","BJ",
       [
       "海淀","1",null,
       "昌平","1",null,
       "朝阳","2",null
       ],
      "四川","SC",
       [
       "成都","28",null,
       "乐山","",null,
       "攀枝花","",null,
       "自贡","",null,
       "德阳","",null,
       "绵阳","",null
       ]
      ],
     "美国","1",
      [
      "加利福尼亚","CA",
       [
       "旧金山","1",null,
       "伯克利","1",null,
       "洛杉矶","2",null
       ],
      "华盛顿","WA",
       [
       "西雅图","seattle",null,
       "华盛顿特区","seattle",null
       ]
      ]
     ];
     
    function wizz(level)
    {
     if( level == 0 )
      a = menu;
     else
     {
      str = "menu";
      for( var i=0; i<level; i++ )
       str += "[" + (document.all[selector[i]].selectedIndex * 3 + 2)  + "]";
      a = eval(str);
     }
     if( !(a == null) ) 
     {
    s = document.all[selector[level]];
    p = s.parentElement;
    s.removeNode(true);
    s = document.createElement("<tr id="+selector[level]+"></tr>");
    p.appendChild(s);
    i=0;
    if (i < Math.floor(a.length/3))
    {
     s.selectedIndex = 0;
     //message.innerHTML=message.innerHTML.replace(/\|/, a[i*3]+">>\|")
    }
    while( i < Math.floor(a.length/3) )
    {
     var o=document.createElement("<td style='wordBreak:keep-all;cursor:hand;color:blue' Index="+i+" onclick='this.parentElement.selectedIndex=this.Index;wizz(" + (level+1) + ")' value=" + a[i*3+1]+"></td>");
     o.innerHTML=a[i++*3];
     s.insertAdjacentElement("beforeEnd", o);
    }
     }
     syncLocation();
     if( !(a == null) ) 
    wizz(level+1);
    }
    wizz(0);
    function syncLocation()
    {
    var p = message.parentElement;
    message.removeNode(true);
    oo = document.createElement("<tr id='message'></tr>");
    p.appendChild(oo);
    for (var i=0;i<selector.length;i++)
    {
    if(message.children[i-1])message.children[i-1].innerHTML+=">>";
    var oP = document.all[selector[i]].children[document.all[selector[i]].selectedIndex]
    if(oP)
    {
    oClone=oP.cloneNode(true)
    message.insertAdjacentElement("beforeEnd", oClone);
    }
    }
    var oT = document.createElement("<td width='100'></td>")
    oT.innerText = "位置:"
    message.insertAdjacentElement("afterBegin", oT);
    var oT = document.createElement("<td width='100'></td>")
    oT.innerText = " "
    message.insertAdjacentElement("beforeEnd", oT);
    }
    //-->
    </SCRIPT></BODY>
    </html>