document.all("type2").length =0 ;
for(i=0; choice[0].length;i++)if( choice[2][i]==obj)
{
var opt=document.createElement("OPTION")    
   opt.text=choice[1][i];
   opt.value=choice[3][i];
   document.all("type2").add(opt) ;
}
}js不支持真正的 二维数组,相比之下vbs支持二维数组,也支持js的matrix,这一点你 要清楚,所以数组最开始定义的时候就要这样:var s=new Array();
  s[0]=new Array();
 s[1]=new Array();for(i=0;i<6;i++)
{
   s[0][i]="asd"
}而不能这样:
 <SCRIPT>
 var board_Arr =new Array(9,10);  
board_Arr[1,1]="01" ; 
board_Arr[1,1]="02" ; 
alert(board_Arr[1,1]);
</SCRIPT>
你猜结果是什么?
 
"02" 
这是js的一个比较愚蠢的 地方,但是js的数组对象有sort和reverse方法,这点又比vbs数组方便。
你 最好把代码贴完全,脚本翻译的事情尽管问我好 了,vbs我一流,js现在我也不菜,浏览器对象模型我一流!为什么我不能夹起尾巴做狼?因为我 就是江湖上传说中赫赫有名的 超级大笨狼!!

解决方案 »

  1.   

    更正:少了 一个{
    document.all("type2").length =0 ;
    for(i=0; choice[0].length;i++)
    {
    if( choice[2][i]==obj)
    {
    var opt=document.createElement("OPTION")    
       opt.text=choice[1][i];
       opt.value=choice[3][i];
       document.all("type2").add(opt) ;
    }
    }因为不 知道你的其余代码的 用途,所以不能保证你好使,你 应该把完全的html贴出来。
      

  2.   

    http://community.csdn.net/Expert/topic/3102/3102106.xml?temp=.2736017
      

  3.   

    非常感激楼上的其实我只是想用JS动态对SELECT下拉项添加主要是对:
    set opt=document.createElement("OPTION")    
    opt.text=1
    opt.value=1
    document.all("type2").add(opt)   
    进行转化,你上面的
       document.all("type2").add(opt) ;
    提示有错误!
      

  4.   

    <select name="type2">
    </select>
    <script  >
     
    var opt=document.createElement("OPTION")    
    opt.text="aaa";
    opt.value="AAA";
    document.all("type2").add(opt) ;
     
    </script>不会有错误,如果错误那出现在你 数组上,而你数组的定义和 内容,你 根本没提。