<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>无标题页</title>
    <script type="text/javascript">
        function selected(src,des){
            for(var i=src.childNodes.length;i>=0;i--){
                if(src.childNodes[i].selected==true){
                    src.removeChild(src.childNodes[i]);
                    des.appendChild(src.childNodes[i]);
                    
                }
            }
        }
        function allselect1(){
            var srcOption=document.getElementById("selectSrc");
            var desOption=document.getElementById("selectDes");
            for(var i=0;i<srcOption.childNodes.length;i++){
                srcOption.removeChild(srcOption.childNodes[i]);
                desOption.appendChild(srcOption.childNodes[i]);
            }
        }
        function allselect2(){
            var srcOption=document.getElementById("selectDes");
            var desOption=document.getElementById("selectSrc");
            for(var i=0;i<srcOption.childNodes.length;i++){
                srcOption.removeChild(srcOption.childNodes[i]);
                desOption.appendChild(srcOption.childNodes[i]);
            }
        }
    </script>
</head>
<body>
<select multiple="multiple" id="selectSrc" ><option>添加</option><option>删除</option><option>查询</option><option>修改</option><option>打印</option></select>
<input type="button" value=">" style="width:30px" onclick="selected(document.getElementById('selectSrc'),document.getElementById('selectDes'))" /> 
<input type="button" value="<" style="width:30px" onclick="selected(document.getElementById('selectDes'),document.getElementById('selectSrc'))" />
<input type="button" value=">>" style="width:30px" onclick="allselect1()"/>
<input type="button" value="<<" style="width:30px" onclick="allselect2()"/>
<select multiple="multiple" id="selectDes">
</select>
</body>
</html>

解决方案 »

  1.   

    function selected(src,des){
      for(var i=src.childNodes.length-1;i>=0;i--){
      if(src.childNodes[i].selected==true){
      src.removeChild(src.childNodes[i]);
      des.appendChild(src.childNodes[i]);
       
      }
      }
      }
      function allselect1(){
      var srcOption=document.getElementById("selectSrc");
      var desOption=document.getElementById("selectDes");
      for(var i=0;i<srcOption.childNodes.length;i++){
      srcOption.removeChild(srcOption.childNodes[i]);
      desOption.appendChild(srcOption.childNodes[i]);
      }
      }
      function allselect2(){
      var srcOption=document.getElementById("selectDes");
      var desOption=document.getElementById("selectSrc");
      for(var i=0;i<srcOption.childNodes.length;i++){
      srcOption.removeChild(srcOption.childNodes[i]);
      desOption.appendChild(srcOption.childNodes[i]);
      }
      }
      

  2.   

    我改了一下,还是不对啊!!!说是类型不匹配
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>无标题页</title>
        <script type="text/javascript">
            function selected(src,des){
                for(var i=src.childNodes.length-1;i>=0;i--){
                    if(src.childNodes[i].selected==true){
                        src.childNodes[i].selected==false;
                        src.removeChild(src.childNodes[i]);
                        des.appendChild(src.childNodes[i]);
                        
                    }
                }
            }
       
        </script>
    </head>
    <body>
    <select multiple="multiple" id="selectSrc" ><option>添加</option><option>删除</option><option>查询</option><option>修改</option><option>打印</option></select>
    <input type="button" value=">" style="width:30px" onclick="selected(document.getElementById('selectSrc'),document.getElementById('selectDes'))" /> 
    <input type="button" value="<" style="width:30px" onclick="selected(document.getElementById('selectDes'),document.getElementById('selectSrc'))" />
    <input type="button" value=">>" style="width:30px" />
    <input type="button" value="<<" style="width:30px" />
    <select multiple="multiple" id="selectDes">
    </select>
    </body>
    </html>
      

  3.   

    body部分不改,script部分:
    function selected(src,des){
    while(src.selectedIndex >= 0)
    des.appendChild(src.options[src.selectedIndex])
    }
    function allselect1(){
    var srcOption=document.getElementById("selectSrc");
    var desOption=document.getElementById("selectDes");
    while(srcOption.options.length)
    desOption.appendChild(srcOption.options[0])
    }
    function allselect2(){
    var srcOption=document.getElementById("selectDes");
    var desOption=document.getElementById("selectSrc");
    while(srcOption.options.length)
    desOption.appendChild(srcOption.options[0])
    }
      

  4.   

    貌似直接append的时候他就把src删了,弄到des去了。而且在移动所有的时候不能每次取childNodes[i],比如remove第childNodes[2]个后,本来该remove,childNodes[3]个,但是此时第childNodes[3]已经是原来的childNodes[4]了,所以每次都remove,childNodes【0】就ok了。