CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

求助:用JS实现两个select里的option值的传递

楼主andrewy(上过大学,没给发证)2006-06-01 08:56:01 在 Web 开发 / JavaScript 提问

现在有两个select多选框,把左边select的option添加到右边的select里,左边的select里的所有选项不能改变,从左边添加到右边的时候实现单个添加和批量添加。然后右边的select实现单个删除和全部删除的功能。  
   
   
  页面源码如下:  
  <BODY>  
  <table   width="790"   border="0"   cellpadding="0"   cellspacing="0">  
      <tr   valign="middle">  
          <td   height="15"   colspan="7"   align="left"   valign="middle"><hr   size="1"   noshade></td>  
      </tr>  
      <tr   align="center"   valign="middle">  
          <td   height="20"   colspan="2"   align="right">&nbsp;</td>  
          <td   width="150"   valign="middle">左select</td>  
          <td   width="85">&nbsp;</td>  
          <td>右select</td>  
          <td>&nbsp;</td>  
          <td>&nbsp;</td>  
      </tr>  
      <tr   align="center"   valign="middle">  
          <td   height="198"   colspan="2"   align="right"></td>  
          <td   align="center"   valign="middle"><select   name="select8"   size="16"   multiple   class="select1">  
                  <option>aaaaaaaa</option>  
                  <option>bbbbbbbb</option>  
                  <option>cccccccc</option>  
                  <option>dddddddd</option>  
                  <option>eeeeeeee</option>  
                  <option>ffffffff</option>  
                  <option>gggggggg</option>  
                  <option>hhhhhhhh</option>  
              </select>  
          </td>  
          <td   valign="middle"><p   class="button1">  
                  <input   name="search23"   type="button"   class="input0"   id="search232"   value="添加多个">  
                  <br>  
                  <input   name="search2"   type="button"   class="input0"   id="search25"   value="添加单个">                  
                  <br>  
                  <input   name="search222"   type="button"   class="input0"   id="search2223"   value="删除单个">  
                  <br>  
                  <input   name="search22"   type="button"   class="input0"   id="search224"   value="全部删除">  
              </p>  
              </td>  
          <td   align="center"   valign="middle"><select   name="select"   size="16"   multiple   class="select1">  
                  <option></option>  
              </select>  
          </td>  
      </tr>  
  </table>  
  </BODY> 问题点数:10、回复次数:5Top

1 楼ice_berg16(寻梦的稻草人)回复于 2006-06-01 09:09:58 得分 0

<BODY>  
  <table   width="790"   border="0"   cellpadding="0"   cellspacing="0">  
      <tr   valign="middle">  
          <td   height="15"   colspan="7"   align="left"   valign="middle"><hr   size="1"   noshade></td>  
      </tr>  
      <tr   align="center"   valign="middle">  
          <td   height="20"   colspan="2"   align="right">&nbsp;</td>  
          <td   width="150"   valign="middle">左select</td>  
          <td   width="85">&nbsp;</td>  
          <td>右select</td>  
          <td>&nbsp;</td>  
          <td>&nbsp;</td>  
      </tr>  
      <tr   align="center"   valign="middle">  
          <td   height="198"   colspan="2"   align="right"></td>  
          <td   align="center"   valign="middle"><select   name="source"   id="source"   size="16"   multiple>  
                  <option>aaaaaaaa</option>  
                  <option>bbbbbbbb</option>  
                  <option>cccccccc</option>  
                  <option>dddddddd</option>  
                  <option>eeeeeeee</option>  
                  <option>ffffffff</option>  
                  <option>gggggggg</option>  
                  <option>hhhhhhhh</option>  
              </select>  
          </td>  
          <td   valign="middle"><p   class="button1">  
                  <input   name="search23"   type="button"   class="input0"   id="search232"   value="添加多个"   onclick="add(2)">  
                  <br>  
                  <input   name="search2"   type="button"   class="input0"   id="search25"   value="添加单个"   onclick="add(1)">                  
                  <br>  
                  <input   name="search222"   type="button"   class="input0"   id="search2223"   value="删除单个"   onclick="remove(1)">  
                  <br>  
                  <input   name="search22"   type="button"   class="input0"   id="search224"   value="全部删除"   onclick="remove(2)">  
              </p>  
              </td>  
          <td   align="center"   valign="middle"><select   name="dest"   id="dest"   size="16"   multiple>  
              </select>  
          </td>  
      </tr>  
  </table>  
  </BODY>  
  <script   language="javascript">  
  <!--  
  var   s   =   document.getElementById("source");  
  var   d   =   document.getElementById("dest");  
  function   add(type){  
  for(i=0;i<s.options.length;i++)  
  {  
  if(   s.options[i].selected   ==   true   )  
  {  
  d.options.add(   new   Option(   s[i].text,s[i].value   )   );  
  if(   type   ==   1   )   break;  
  }  
  }  
  }  
  function   remove(type){  
  if(   type==2   )  
  {  
  d.options.length=0;  
  return;  
  }  
  for(i=0;i<d.options.length;i++)  
  {  
  if(   d.options[i].selected   ==   true   )  
  {  
  d.options.remove(i);  
  return;  
  }  
  }  
  }  
  //-->  
  </script>Top

2 楼andrewy(上过大学,没给发证)回复于 2006-06-01 09:21:28 得分 0

怎么才能让右select已经有的选项不再添加进来?Top

3 楼kokubo_wing(假装父母富裕是违法行为)回复于 2006-06-10 13:31:16 得分 0

<script   language="javascript">  
  function   Add(ObjSource,ObjTarget)  
  {  
  for(var   i=ObjSource.length-1;i>=0;i--)  
  {  
  if(ObjSource.options[i].selected)  
  {  
  var   opt=document.createElement("OPTION");  
  ObjTarget.add(opt);  
  opt.value=ObjSource.options[i].value;  
  opt.text=ObjSource.options[i].text;  
  ObjSource.options.removeChild(ObjSource.options[i]);  
  opt.selected=true;  
  }  
  }  
  }  
  function   AddAll(ObjSource,ObjTarget)  
  {  
  SelectAll(ObjSource);  
  Add(ObjSource,ObjTarget);  
  }  
  function   SelectAll(ObjSource)  
  {  
  for(var   i=0;i<ObjSource.length;i++)  
  {  
  ObjSource.options[i].selected=true;  
  }  
  }  
  </script>Top

4 楼BlueDestiny(Design Life - never-online.net)回复于 2006-06-10 16:14:49 得分 0

<script   language="JavaScript">  
  function   copyToList(from,to)   //from表示:包含可选择项目的select对象名字   to表示:列出可选择项目的select对象名字   //你可以根据你的具体情况修改  
  {  
      fromList   =   eval('document.forms[0].'   +   from);  
      toList   =   eval('document.forms[0].'   +   to);  
      if   (toList.options.length   >   0   &&   toList.options[0].value   ==   'temp')  
      {  
          toList.options.length   =   0;  
      }  
      var   sel   =   false;  
      for   (i=0;i<fromList.options.length;i++)  
      {  
          var   current   =   fromList.options[i];  
          if   (current.selected)  
          {  
              sel   =   true;  
              if   (current.value   ==   'temp')  
              {  
                  alert   ('你不能选择这个项目!');  
                  return;  
              }  
              txt   =   current.text;  
              val   =   current.value;  
              toList.options[toList.length]   =   new   Option(txt,val);  
              fromList.options[i]   =   null;  
              i--;  
          }  
      }  
      if   (!sel)   alert   ('你还没有选择任何项目');  
  }  
  function   allSelect()   //这是当用户按下提交按钮时,对列出选择的select对象执行全选工作,让递交至的后台程序能取得相关数据  
  {  
      List   =   document.forms[0].chosen;  
      if   (List.length   &&   List.options[0].value   ==   'temp')   return;  
      for   (i=0;i<List.length;i++)  
      {  
            List.options[i].selected   =   true;  
      }  
  }  
   
  </script>  
  <table   border="0">   <form   onSubmit="allSelect()">  
                              <tr>  
                                  <td>  
                                      <select   name="possible"   size="4"  
  MULTIPLE   width=200   style="width:   200px">  
                                          <option   value="1">中国广州  
                                          <option   value="2">中国上海  
                                          <option   value="3">中国北京  
                                          <option   value="4">中国武汉  
   
                                      </select>  
                                  </td>  
                                      <td><a   href="javascript:copyToList('possible','chosen')">添加至右方--><br>  
                                          <br>  
                                          </a><a   href="javascript:copyToList('chosen','possible')"><--添加至左方</a></td>  
                                  <td>  
                                      <select   name="chosen"   size="4"  
  MULTIPLE   width=200   style="width:   200px;">  
                                          <option   value="temp">从左边选择你的地区    
                                      </select>  
                                  </td>  
                              </tr>     </form>  
                          </table>Top

5 楼ivyorg(沧海一粒)回复于 2006-09-11 13:12:32 得分 0

<script>  
  /*  
  函数说明:将一个select中的内容导出到另一个select中。  
  selectPara1:要导出的select  
  selectPara2:要导进的select  
  */  
  function   selectPara1_OnDblClick()  
  {  
  var   obj1   =   document.getElementById("selectPara1").options;  
  var   obj2   =   document.getElementById("selectPara2").options;  
   
  for(var   itemID   =   0;   itemID   <   obj1.length;   itemID++)  
  {  
  if(obj1[itemID].selected   ==   true)  
  {  
  if(!isValueOfSelect(obj1[itemID].text))  
  document.all.selectPara2.add(new   Option(obj1[itemID].text,   obj1[itemID].value));  
  }  
  }  
          }  
   
  function   isValueOfSelect(val)  
  {  
  var   obj   =   document.getElementById("selectPara2").options;  
  if(obj.length   >   0)  
  {  
  for(var   k=0;k<obj.options.length;k++)  
  {  
  if(obj.options[k].text   ==   val)  
  {  
  return   true;  
  }  
  }  
  }  
  return   false;  
  }  
   
  function   selectPara2_OnDblClick()  
  {  
  var   obj   =   document.getElementById("selectPara2").options  
  for(var   itemID   =   0;   itemID   <   obj.length;   itemID++)  
  {  
  if(obj[itemID].selected   ==   true)  
  document.all.selectPara2.remove(itemID);  
  }  
  }  
  </script>  
   
   
  <html>  
  <body>  
  <table   id="machineInfo"   width="100%"   bgColor="#cccccc"   border="0">  
  <tr>  
  <td   height="24">&nbsp;Select</td>  
  </tr>  
  <tr   height="20">  
  <td   width="18%"   align="center"   valign="middle"   bgcolor="#ffffff">  
  <img   src="./images/rd_icon_aa.jpg">  
  </td>  
  <td   width="35%"   class="content_ssxt"   align="center">&nbsp;  
  <select   id="Select1"   size="8"   multiple   ondblclick="selectPara1_OnDblClick();"   runat="server"   NAME="Select1">  
  <option>一</option>  
  <option>二</option>  
  <option>三</option>  
  <option>四</option>  
  <option>五</option>  
  </select>  
  </td>  
  <td   width="35%"   class="contentsstext"   align="center">  
  <select   id="Select2"   size="8"   multiple   ondblclick="selectPara2_OnDblClick();"   style="WIDTH:   200px"  
  runat="server"   NAME="Select2">  
  </select>  
  </td>  
  <td   class="contenss_text"   align="right"   valign="bottom">  
  <table   width="100%">  
  <tr>  
  <td   width="20">&nbsp;</td>  
  <td   class="text_button">  
  <asp:LinkButton   ID="Linkbutton1"   CssClass="text_bssink"   Runat="server">Submit</asp:LinkButton>  
  </td>  
  <td   width="20">&nbsp;</td>  
  </tr>  
  </table>  
  </td>  
  </tr>  
  </table>  
  </body>  
  </html>  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:andrewy

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo