for(var j=ToObj.length-1;j>=0;j--){
ToObj.remove(j);
}
改成倒序删除
其实清空只要用
ToObj.length = 0;就可以了

解决方案 »

  1.   

    if(FromObj.options[FromObj.selectedIndex].value=="0"){
    for(var j=0;j<ToObj.length;j++){
    ToObj.remove(j);
    }
    }===>
    if(FromObj.options[FromObj.selectedIndex].value=="0"){
    for(var j=ToObj.length-1;j>=0;j--){
    ToObj.remove(j);
    }
    }
      

  2.   

    <script language="javascript">
    function add(from,to){
                    eval("var FromObj=myform."+from);
    eval("var ToObj=myform."+to);
    if(FromObj.options[FromObj.selectedIndex].value=="0"){
    ToObj.length=1;
    }
    for(var i=0;i<ToObj.length;i++){
    if(FromObj.options[FromObj.selectedIndex].value==ToObj.options[i].value)return false;
    }
    var tempValue;
    var tempText;
    tempValue=FromObj.options[FromObj.selectedIndex].value;
    tempText=FromObj.options[FromObj.selectedIndex].text;
    ToObj.add(new Option(tempText,tempValue),0);
    }
    </script>
    <form name="myform" method="post" action="#">
    <select name="from" size="5" multiple>
     <option value="0">不限</option>
     <option value="1">value1</option>
     <option value="2">value2</option>
     <option value="3">value3</option>
    </select> &nbsp;&nbsp;
    <input name="button" type="button" style="width:50" onClick="add('from','to')" value="添加>>">
    <select name="to" size="5" multiple>
     <option value="1">value1</option>
     <option value="2">value2</option>
     <option value="3">value3</option>
    </select>
    </form>
      

  3.   

    谢谢大家了
    myvicy(热心肠的人),你那个错了,呵呵