<html>
<BODY>
<SELECT NAME="s1"><option>需要JavaScript才能正确?示</SELECT>
<SELECT NAME="s2"></SELECT>
<SELECT NAME="s3"></SELECT>
<SELECT NAME="s4"></SELECT>
<SCRIPT LANGUAGE="JavaScript">
<!--
//??框的名字
selector = [ "s1", "s2", "s3", "s4" ];
//???: "名字", "值", 子??
menu = [
"地球","1",
 [
 "中?","86",
  [
  "北京","BJ",
   [
   "--","1",null
   ],
  "四川","SC",
   [
   "成都","28",null,
   "?山","",null,
   "攀枝花","",null,
   "自?","",null,
   "德?","",null,
   "??","",null
   ]
  ],
 "米?","1",
  [
  "加利福尼?","CA",
   [
   "?金山","1",null,
   "洛杉?","2",null
   ],
  "?盛?","WA",
   [
   "西雅?","seattle",null
   ]
  ]
 ],
"火星","2",
 [
 "大?谷","86",
  [
  "小山丘","BJ",
   [
   "A地?","28",null,
   "B地?","",null,
   "C地?","",null
   ]
  ]
 ]
];
 
function wizz(level)
{
 if( level == 0 )
  a = menu;
 else
 {
  str = "menu";
  for( i=0; i<level; i++ )
   str += "[" + (document.all[selector[i]].selectedIndex * 3 + 2)  + "]";
  a = eval(str);
 }
 if( a == null ) return;
 s = document.all[selector[level]];
 i = s.length;
 while( i > 0 ) s.options[--i] = null;
 while( i < Math.floor(a.length/3) )
  s.options[i] = Option( a[i*3], a[i++*3+1] );
 s.onchange = Function("wizz(" + (level+1) + ")");
 wizz(level+1);
}
wizz(0);
//-->
</SCRIPT>
</BODY>
</HTML>

解决方案 »

  1.   

    能否按我给的列子代码写出javascript呢?
    麻烦各位了
      

  2.   

    <select id="selA" onchange="change()">
    <option value=亚洲>亚洲</option>
    <option value=欧洲>欧洲</option>
    <option value=非洲>非洲</option>
    </select><select id="selB">
    <option value=中国>中国</option>
    <option value=蒙古>蒙古</option>
    <option value=法国>法国</option>
    <option value=南非>南非</option>
    </select>
    <script>
    function change()
    {
    document.getElementById("selB").length=0;
    var b=new Array();
    b[0]=new Array("亚洲","中国")
    b[1]=new Array("亚洲","蒙古")
    b[2]=new Array("欧洲","法国")
    b[3]=new Array("非洲","南非")
    for (i=0;i<b.length;i++)
       {
         if(b[i][0]==document.getElementById("selA").options[document.getElementById("selA").selectedIndex].value)
            {document.getElementById("selB").options[document.getElementById("selB").length]=new Option(b[i][1],b[i][1]);}
       }
    }
    </script>
      

  3.   

    <form method=post name=fm>
    <select onchange=chg(selectedIndex) name=a>
    <option>亚洲
    <option>欧洲
    <option>美洲
    </select>
    <select name=b onchange="r.value=value">
    <option>请选择
    </select>
    <input name=r id=r>
    </form>
    <script>
    var arr=[["中国","日本","朝鲜","新加坡"],["英国","法国","意大利"],["美国","加拿大","巴西"]]
    function chg(i){
    with(document.fm.b){
    length=0;
    for(j=0;j<arr[i].length;j++)
    options.add(new Option(arr[i][j],arr[i][j]))
    document.fm.r.value=value+document.fm.a.value
    }
    }
    chg(0)
    </script>