肯定还是通过javascript啦,在选择之后,点击移动的按钮的时候,判断哪些项目被选中,然后在目标列表框中增加这些项目,在源列表框中删除这些项目就可以了。

解决方案 »

  1.   

    楼主要删除原来select框里的数据吗??
      

  2.   

    这是我以前写过的,你可以看看:)  前两天我刚贴过,楼主可以在贴子里面搜一下,还有别人写的,可以看看:)
    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content=""></head><body>
    <form method=post action="">
    <select multiple size="15" id="personal" style="width:200px">
     <option value="1">111111111</option>
     <option value="2">222222222</option>
     <option value="3">333333333</option>
     <option value="4">444444444</option>
     <option value="5">555555555</option>
     <option value="6">666666666</option>
     <option value="7">777777777</option>
     <option value="8">888888888</option>
     <option value="9">999999999</option>
    </select>
    <input type="button" name="ok" value="add" onclick="add5OP()">
    <input type="button" name="add" value="del" onclick="del()">
    <input type="button" name="view" value="view" onclick="viewUser()">
    <select size="15" style="width:200px" id="user" multiple>
     
    </select>
    <script language="JavaScript">
    <!--
    function oUser(id,name)
    {
    this.id=id;
    this.name=name;
    }
    function add5OP()
    {
      var thePer = document.getElementById("personal");
      var theUser = document.getElementById("user");
      var Arr= new Array();
      var id="";
      var name = "";
      for(var i=0;i<thePer.length;i++)
      {
        if(thePer[i].selected==true)
    {
         id = thePer[i].value; 
         name = thePer[i].text;
     Arr.push(new oUser(id,name));
    }
      }  if(theUser.length > 0)
    {
      for(var i=0;i<Arr.length;i++)
      {
        for(var j=0;j<theUser.length;j++)
    {
      if(Arr[i].id == theUser[j].value)
      {
     Arr[i].id = "";
      }
    }
     var stext=Arr[i].id;
         var svalue=Arr[i].name;
     if(stext != "")
     {
       oOption=new Option(svalue,stext);
       theUser.add(oOption);
     }
        }
     }
      else
      {
         for(var i=0;i<Arr.length;i++)
        {
       var stext=Arr[i].id;
       var svalue=Arr[i].name;
     oOption=new Option(svalue,stext);
     theUser.add(oOption);
        }
      }
    }
    function del()
    {
     var theSelect = document.getElementById("user");
      var Arr2= new Array();
      var id="";
      var name = "";
      if (theSelect.selectedIndex!=-1)
      {                    
    for(var i=0;i<theSelect.length;i++)
      {
        if(theSelect[i].selected==true)
    {
         id = theSelect[i].value; 
         name = theSelect[i].text;
     Arr2.push(new oUser(id,name));
    }
      }
      
      for(var i=0;i<Arr2.length;i++)
      {
       var stext=Arr2[i].id;
       for(var j=0;j<theSelect.length;j++)
       {
          if(Arr2[i].id == theSelect[j].value)
      {
        theSelect.options[j]=null
      }
       }
     
      }
      }
      else
      {
     alert("请先选择您要删除的成员");
      }        
    }function viewUser()
    {
       var src = "";
       for(var i=0;i<document.all.user.length;i++)
       {
          src += document.all.user[i].value+",";
       }
      alert(src);
    }
    //-->
    </script>
    </form>
    </body>
    </html>
      

  3.   

    直接重新生成列表框就是了。应该很清楚了,借鉴一下 kisslan的代码,应没有问题了啊。
      

  4.   

    照那个del()的方法写一个就行了:),不过要在最后执行