Easy, L@_@K!
<html>
<head>
<script language="JavaScript">
<!--   
function moveOption(e1,e2)
{
    var e;
    for (var i=e1.options.length-1; i>=0; i--)
    {
        e = e1.options(i);
        if (e.selected)
        {
            e2.options.add(new Option(e.text,e.value));
            e1.options.remove(i); 
        }
    }
}   
  //--></script>
<title>无标题</title>
</head><body>
<form name="form1" method="post" action="">
  <table>
  <tr>
  <td>
  <p>
    <select id="list1" size="8" multiple="5" multiple>
          <option   value=A>江苏 
              <option   value=B>上海   
              <option   value=C>浙江
              <option   value=D>安徽
              <option   value=E>山东
              <option   value=F>四川
              <option   value=G>北京
              <option   value=H>云南
    </select>
  </td>  
<td><input type="button" name="按钮1" value=">>>" onClick="moveOption(this.form.list1,this.form.list2)">
 <p><input type="button" name="按钮2" value="<<<" onClick="moveOption(this.form.list2,this.form.list1)">
</td>
<td>
<select id="list2" size="8" multiple="5" multiple>

</select></td>
 
 </tr>
 </table>
</form>
</body>
</html>

解决方案 »

  1.   

    LZ 自己写的那个就很好,多个时加上 for 循环就可以了,要注意循环是降序的,因为移除后长度会发生变化!注:用 ctrl + 点选 或 拖选 均可!
      

  2.   

    对了以前写过一个不用 Ctrl 就可以实现  ctrl + 点选 效果的!就在坛子里,LZ 有兴趣可以找找!