关于如何动态地在同一页面实现两个<select>互传(s1 <==> s2)

---（文/jaklin）
我们常常会碰到这样一个问题： 如何将在同一页面上的一个<select>或<listbox>的值传到另一个<select>或 <listbox>中 ？这是一个很烦人的问题。可是有时候你偏偏会遇到。 那什么办呢？ 下面是我“烟酒”了一个上午， 现贴上来让大家共享。 用的方法是很笨也挺麻烦。不过总是有点成就感的。呵呵！ 大家看看， 指点指点.....

    <%@ Language=VBScript %>
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    </HEAD>
    <script language="vbscript">

    </script>
    <body bgcolor="#ffffff">
    <form name="form1"  action="test01.asp" target="_self">
    <p><TEXTAREA id=text01 name=text01></TEXTAREA></p>
    <table>
       <tr>
         <td>
           <select name="select1" language="javascript" size=5>
        <option value=11111>11111</option>
        <option value=22222>22222</option>
        <option value=33333>33333</option>
           </select>
         </td>
         <td>
        <label onClick=do_select()><font color=#ff00dc><u>->> </u></font> </label><br><br>
        <label onClick=do_select2()><font color=#ff00dc><u><<- </u></font> </label>
         </td>
        <%
         str="function do_select() {" & vbCrlf & _
                 "if (document.form1.select1.options.length > 0) {"&vbCrlf&_
             "var j=0;"&vbCrlf&_
             "for(var i=0;i<document.form1.select1.options.length;i++) {"&vbCrlf & _
             "if(document.form1.select1.options(i).selected) {"&vbCrlf& _
                 "j=j+1; break" & vbCrlf & "}"&vbCrlf & "}"&vbCrlf& _
             "if (j > 0) {"&vbCrlf&_                    "document.form1.sel2.options
    [document.form1.sel2.options.length] = new Option(" &  _
                  "document.form1.select1.options[document.form1.select1.selectedIndex].value,"  & _
                  "document.form1.select1.options[document.form1.select1.selectedIndex].value);"& vbCrlf
        Response.Write "<td><SELECT id=sel2  name=sel2 size=5>"
        Response.Write "</select></td>"
              str=str&vbCrlf&"document.form1.select1.options[document.form1.select1.selectedIndex]
    =null;"&vbCrlf & _
        "if (document.form1.select1.options.length > 1) {"&vbCrlf   '&_
        str=str&vbCrlf & "}" & vbCrlf & "}" & vbCrlf& "}" & vbCrlf& "}" & vbCrlf
        Response.Write "<SCR"& "IPT LANGUAGE=""JavaScript"">" & vbCrlf
        Response.Write str & vbCrlf & "</SCR"&"IPT>"& vbCrlf

            %>

        <%
        str=""
        str="function do_select2() {" & vbCrlf & _
        "if (document.form1.sel2.options.length > 0) {"&vbCrlf&_
        "var j=0;"&vbCrlf&_
        "for(var i=0;i<document.form1.sel2.options.length;i++) {"&vbCrlf & _
        "if(document.form1.sel2.options(i).selected) {"&vbCrlf& _
        "j=j+1; break" & vbCrlf & "}"&vbCrlf & "}"&vbCrlf& _
        "if (j > 0) {"&vbCrlf&_
                   "document.form1.select1.options[document.form1.select1.options.length] = new Option(" &  _
                  "document.form1.sel2.options[document.form1.sel2.selectedIndex].value,"  & _
                  "document.form1.sel2.options[document.form1.sel2.selectedIndex].value);"& vbCrlf
               str=str&"document.form1.sel2.options[document.form1.sel2.selectedIndex] =null;" & vbCrlf &"}"&
    vbCrlf &"}"& vbCrlf &"}"
        Response.Write "<SCR"& "IPT LANGUAGE=""JavaScript"">" & vbCrlf
        Response.Write str & vbCrlf & "</SCR"&"IPT>"& vbCrlf
        %>

         </tr>
      </table>
    </form>
    </body>
    </HTML>

很笨吧， 哈哈！ 若那位大虾有更好的方法， 可别忘了给我寄上一份哦。 E_Mail: fz_chenjl@163.net