全部添加与部分添加的实现:
<table border=0 cellpadding=0 cellspacing=0><form name=meizz>
  <tr><td>
    <select name=list1 size=8 multiple ondblclick="moveOption(this, this.form.list2)">
      <option value=A>aaaaaaaaaa
      <option value=B>bbbbbbbbbb
      <option value=C>cccccccccc
      <option value=D>dddddddddd
      <option value=E>eeeeeeeeee
      <option value=F>ffffffffff
      <option value=G>gggggggggg
      <option value=H>hhhhhhhhhh
    </select></td>
  <td width=40 align=center>
    <input name=add type=button value=">>>" onclick="moveOption(this.form.list1, this.form.list2)"><br/><br/>
    <input name=sub type=button value="<<<" onclick="moveOption(this.form.list2, this.form.list1)">
  </td><td>
    <select name=list2 size=8 multiple ondblclick="moveOption(this, this.form.list1)">
    </select>
  </td></tr></form>
</table><script language="javascript"><!--
function moveOption(e1, e2){
    try{
    var l=e1.options.length-1;
    for(i=0;i<=l;i++){        var e = e1.options[e1.selectedIndex];
        e2.options.add(new Option(e.text, e.value));
        e1.options.remove(e1.selectedIndex);
        }
    }   catch(e){}
}
//--></script> 例子2<table>
<tr>
<td valign=top>
<select name=s1 multiple size=4 style="width:100">
<option value=1>aaaaaa
<option value=2>bbbbbb
<option value=3>cccccc
<option value=4>dddddd
<option value=5>eeeeee
<option value=6>ffffff
<option value=7>gggggg
<option value=8>hhhhhh
</select>
</td>
<td valign=middle align=center>
<input type=button name=b4 value=">" onClick="move(1)"><br/>
<input type=button name=b5 value="<" onClick="move(2)">
</td>
<td valign=top>
<select name=s2 multiple size=4 style="width:100">
</select>
</td>
</tr>
<tr>
<td>
<input type=button name=b1 value=向上 onClick="up()">
<input type=button name=b2 value=向下 onClick="down()">
</td>
<td>
<input type=button name=b3 value=查看 onClick="show()">
</td>
<td>
</td>
</tr>
</table><script>
function up() {
  s = document.all.s1;
  v = new Array();
  for(i=0;i<s.length-1;i++) {
    if(! s.options[i].selected && s.options[i+1].selected) {
      v.value = s.options[i].value;
      v.text = s.options[i].text;
      v.selected = s.options[i].selected;
      s.options[i].value = s.options[i+1].value;
      s.options[i].text = s.options[i+1].text;
      s.options[i].selected = s.options[i+1].selected;
      s.options[i+1].value = v.value;
      s.options[i+1].text = v.text;
      s.options[i+1].selected = v.selected;
    }
  }
}function down() {
  s = document.all.s1;
  v = new Array();
  for(i=s.length-1;i>0;i--) {
    if(! s.options[i].selected && s.options[i-1].selected) {
      v.value = s.options[i].value;
      v.text = s.options[i].text;
      v.selected = s.options[i].selected;
      s.options[i].value = s.options[i-1].value;
      s.options[i].text = s.options[i-1].text;
      s.options[i].selected = s.options[i-1].selected;
      s.options[i-1].value = v.value;
      s.options[i-1].text = v.text;
      s.options[i-1].selected = v.selected;
    }
  }
}function show() {
  s = document.all.s1;
  v = "";
  for(i=0;i<s.length;i++)
    v += s.options[i].value + ":" + s.options[i].text + "\n";
  alert(v);
}function move(m) {
  if(m == 1) {
    ss1 = document.all.s1;
    ss2 = document.all.s2;
  }
  if(m == 2) {
    ss1 = document.all.s2;
    ss2 = document.all.s1;
  }
  v = new Array();
  k = 0;
  for(i=0;i<ss1.length;i++) {
    if(ss1.options[i].selected) {
      ss2.options[ss2.length] = new Option(ss1.options[i].text,ss1.options[i].value);
      v[k] = i;
      k++;
    }
  }
  for(i=v.length-1;i>=0;i--)
    ss1.options[v[i]] = null;
}
</script>我想同时实现多选和单选 不知道怎么做了