本帖最后由 Perry7 于 2013-04-07 10:54:32 编辑

解决方案 »

  1.   

    function sel1AddTosel2()
    {
    var oSelectOption = document.getElementById("select1");
    var oInsertOption = document.getElementById("select2");
    for(var i=0;i<oSelectOption.length;i++)
    {
    if(oSelectOption[i].selected)
    {
    var oInsert = new Option(oSelectOption[i].text,oSelectOption[i].value);
    oInsertOption.options.add(oInsert);
    }
    }
    }
      

  2.   

    <table border="1">
        <tr>
            <td>
                <select id="select1" style="width:100px" size="10" multiple="multiple">
                    <option value="选项1">选项1</option>
                    <option value="选项2">选项2</option>
                    <option value="选项3">选项3</option>
                    <option value="选项4">选项4</option>
                    <option value="选项5">选项5</option>
                    <option value="选项6">选项6</option>
                    <option value="选项7">选项7</option>
                    <option value="选项8">选项8</option>
                    <option value="选项9">选项9</option>
                </select>
            </td>
            <td align="center">
                <input type="button" onclick="moveOption(1,1)" value="-->"/><br/>
                <input type="button" onclick="moveOption(1,2)" value="==>"/><br/>
                <input type="button" onclick="moveOption(2,1)" value="<--"/><br/>
                <input type="button" onclick="moveOption(2,2)" value="<=="/>
            </td>
            <td>
                <select id="select2" style="width:100px" size="10" multiple="multiple"></select>
            </td>
        </tr>
    </table>
    <script type="text/javascript">
        function moveOption(l,i){
            var s1=document.getElementById("select"+l);
            var s2=document.getElementById("select"+(l==2?1:2));
            for(var n = s1.options.length - 1; n >= 0; n--){
                if((s1[n].selected == true&&1==i)||2==i){
                    if(document.all){
                        var option=new Option(s1.options[n].innerText,s1.options[n].value);
                        s2.add(option);
                        s1.options.remove(n);
                    }else{
                        s2.add(s1.options[n]);
                    }
                }
            }
        }
    </script>
      

  3.   

    省去判断,再简洁点<script type="text/javascript">
        function moveOption(l,i){
            var s1=document.getElementById("select"+l);
            var s2=document.getElementById("select"+(l==2?1:2));
            for(var n = s1.options.length - 1; n >= 0; n--){
                if((s1[n].selected == true&&1==i)||2==i){
                    var option=new Option(s1.options[n].innerHTML,s1.options[n].value);
                    s2.add(option);
                    s1.options.remove(n);
               }
            }
        }
    </script>
      

  4.   


    我的意思是实现这几个按钮功能
     <input type="button" onclick="moveOption(1,1)" value="-->"/><br/>            
    <input type="button" onclick="moveOption(1,2)" value="==>"/><br/>            
    <input type="button" onclick="moveOption(2,1)" value="<--"/><br/>           
     <input type="button" onclick="moveOption(2,2)" value="<=="/>先把这个HTML代码运行起来就看到效果了...
      

  5.   

    <dooctype html>
    <html>
    <head>
    <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
    <style type='text/css'></style></head>
    <body><table border="1">
         <tr>
    <td>
    <select id="select1" style="width:100px" size="10" multiple="multiple">
    <option value="选项1">选项1</option>
    <option value="选项2">选项2</option>
    <option value="选项3">选项3</option>
    <option value="选项4">选项4</option>
    <option value="选项5">选项5</option>
    <option value="选项6">选项6</option>
    <option value="选项7">选项7</option>
    <option value="选项8">选项8</option>
    <option value="选项9">选项9</option>
    </select>
    </td>
    <td align="center">
    <input type="button" onclick="move('select1','select2',false);" value="--&gt;"/><br/>
    <input type="button" onclick="move('select1','select2',true)" value="==&gt;"/><br/>
    <input type="button" onclick="move('select2','select1',false)" value="&lt;--"/><br/>
    <input type="button" onclick="move('select2','select1',true)" value="&lt;=="/>
    </td>
    <td>
    <select id="select2" style="width:100px" size="10" multiple="multiple"></select>
    </td>
    </tr>
    </table><script type='text/javascript'>
    function move(src,dest,moveAll) { 
         src = document.getElementById(src);
     dest = document.getElementById(dest);
        for(var len=src.options.length-1;len>=0;len--) {
            if(moveAll) {
                dest.appendChild(src.options[len]);
                
            }
            else if(src.options[len].selected){
             src.options[len].selected=false;
             dest.appendChild(src.options[len]);
            
            }
            
        }
       
    }
    </script>
    </body>
    </html>花了1个小时整理了一下,参考了@xzy21com ,但是放弃了老式专用API,而使用了appendChild的方式,希望对你有所帮助。
      

  6.   

    有些代码看不懂,能加QQ说吗?我的QQ375258399