function movedel(fbox,tbox,f1box)  {
var firstId;
var lastId;
    for(var i=0; i<fbox.options.length; i++)  
{
if(fbox.options[i].selected && fbox.options[i].value != "")
{
 var no = new Option();
 no.value = fbox.options[i].value
 firstId=fbox.options[i].value.substring(0,1);
 lastId=fbox.options[i].value.substring(1,3);
 no.text = fbox.options[i].text;
 no.Text = fbox.options[i].Text;
 no.info = fbox.options[i].info;
 no.Tactics = fbox.options[i].Tactics;
 no.Secretlevel = fbox.options[i].Secretlevel; 
 f1box.options[f1box.options.length] = no;
 fbox.options.remove(i);
1  tbox.options[tbox.options.length] = no;  alert(f1box.options.length); 
    
      }
   }
谁能告诉我 最后两句都不执行

解决方案 »

  1.   

    f1box.options[f1box.options.length]
    难道这样是正确的索引??
      

  2.   

    楼主,你能从浏览器里面看到什么异常么
    1. IE状态栏
    2. Firefox 错误控制台
    3. VS2008是可以调试的我觉得你调试下就知道了..贴代码大伙看不怎么明白
      

  3.   

    f1box.options[f1box.options.length] 
    f1box.options.length越界了吧,索引从0开始,最大也只能f1box.options.length-1啊
      

  4.   

    tbox.options[tbox.options.length] = no;
    改成
    tbox.options[tbox.options.length].text = no;
    JS大小写敏感的,
    no.Text = fbox.options[i].Text; 
    这句肯定有一句错了
      

  5.   

    f1box.options[f1box.options.length] = no; 
    fbox.options.remove(i); 
    tbox.options[tbox.options.length] = no; 我这是给两个select做双击移动里面的值,我的第一句代码能执行,那个length是select里面项的数量,所以是在最后一个项的后面添加新项;  页面提示的错误是,对象不支持此属性和方法
      

  6.   

    现在的问题是,我给两个select 赋相同的值会有错误吗?!
    f1box.options[f1box.options.length] = no; tbox.options[tbox.options.length] = no; 
    这两句代码永远都是后面那句不执行,我把代码顺序改了还是后面那句不执行;
      

  7.   

    你定义的var no=new option();
    但是你并没有定义到底要给select中添加什么值啊?
    eq:
    function showcate(id,value,value1){
     var obj=document.form2.category;
     obj.options[obj.options.length]=new Option(value+'>'+value1,id);
     obj.selectedIndex=obj.options.length-1;
     }
      这样是给select中添加值的方法
      

  8.   

    no 是一个 Option 对象,你添加在一个select 上 ,自然就不能在另外的select 上增加了。