在选中左边的选项 点击右移的时候,怎么排除右边已有的选项,即右边已有的选项禁止复制到右边!小弟只实现了普通的左右复制,不知道排除已有的选项如何写!请教各位坛友!向右复制!$(document).ready(function(){
   $("#add").click(function(){
  
   $("select[id=left] option:selected").clone().appendTo($("#right"));
   });
   });

解决方案 »

  1.   


    $(document).ready(function(){
      $("#add").click(function(){
        $("#right").each(function(){
       if($(this).val()!=$("select[id=left] option:selected").val())
       $("select[id=left] option:selected").clone().appendTo($("#right"));
       });
      
      });
      });
    改为这样试试!
      

  2.   

    试下
    <script type="text/javascript" src="js/jq.js"></script>
    <script type="text/javascript">
    <!--
    $(document).ready(function(){
      $("#add").click(function(){
      $("select[id=left] option:selected").each(function(){var same=false;var aa=$("#right option");for (var i=0;i<aa.length;i++){if (this.value==aa[i].value){same=true;break;}};if(!same)$(this).clone().appendTo($("#right"))});
      });
      });
    //-->
    </script>
    </head> <body>
    <table>
    <tr>
    <td><select id="left" MULTIPLE>
    <OPTION value=1>Item 1</OPTION>
    <OPTION value=2>Item 2</OPTION>
    <OPTION value=3>Item 3</OPTION>
    </select></td>
    <td><input type="button" value="Click" onclick="" id="add"/></td>
    <td><select id="right" MULTIPLE> </select></td>
    </tr>
    </table>
    </body>
      

  3.   

    思路:复制一次,给option添加一个属性,当然属性你自己定义随便!
    下次再复制,先查看有没有你自定义的属性,有就说明已经复制过去了,没有则复制过去,然后设置属性。
    代码如下: $("select[id=s2] option:selected").each(function () {
                    if ($(this).attr("sended") != "1") {
                        $(this).clone().appendTo("#s1");
                        $(this).attr("sended","1")
                    }
                });
      

  4.   


    very good! 非常感谢!