
 
 | 
| 技术资料  > ASP技术 > 客户端相关 : 关于如何动态地在同一页面实现两个<select>互传 |  
关于如何动态地在同一页面实现两个<select>互传 March 25,2004 |  
                     (jaklin   2000.9.12) 
     
 
    hello! 先祝大家中秋节快乐! 
 
    我们常常会碰到这样一个问题: 如何将在同一页面上的一个<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: [email protected] |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved