selected部分操作②

左边选择 然后点增加 就到右边了 可以选择多个

我自己写的:

<body>
<script type="text/javascript">
     //获取左边选择的;
     function getLeftSelectOpt(left,right,selectType){
      var leftSelectObj = document.getElementById(left);
      var rightSelectObj = document.getElementById(right);

      if(selectType!=null && selectType=='allOption'){
       selectAllOption(left,right);
      }else{
       for(var i = 0;i<leftSelectObj.length;i++){
        //获取选中的;
        if(leftSelectObj.options[i].selected){
         //option中,第一个参数,是显示的名称,第二个是value;
         var op=new Option(leftSelectObj[i].innerHTML,leftSelectObj[i].value);
         rightSelectObj.options.add(op);
         leftSelectObj.options.remove(i);
          i=i-1 ;

  ***这里必须写上  i=i-1 ; 否则选中多条的情况下最后一条 总是添加不到右边  猜测:i保留 但所有的options的下标向前移了一位 导致下一轮循环的时候 直接跳过

     连续选中记录的下一条记录
        }
       }
      } 
     }
     
     //选择所有;
     function selectAllOption(left,right){
      var leftSelectOption = document.getElementById(left);
      var rightSelectOption =  document.getElementById(right);
      
      for(var i = 0;i<leftSelectOption.options.length;i++){
              var op=new Option(leftSelectOption[i].innerHTML,leftSelectOption[i].value);
       rightSelectOption.options.add(op);
      }
      //清空左边select所有option;
      leftSelectOption.options.length = 0;
     }
  
     function add(){
     //自动将右边的option全部选中
       var rightOp=document.getElementById("rightSelectId");
       for (var i = 0; i < rightOp.options.length; i++) {
            rightOp.options[i].selected = true;
   
        }
       document.getElementById("addForm").action="/";
       document.getElementById("addForm").submit();
     }
     
     function returnBack(){
       document.getElementById("addForm").action="/";
       document.getElementById("addForm").submit();
     }
    </script>
   
    <style type="text/css">
     .btn{
      border:1px solid blue;
      background-color:Silver;
      width:100px;
     }
     
    </style>

 <form action="" method="post" name="addForm">
       <center>
      
       <div style="float: inherit;width: 700px;border:0px solid red;" >
                   
       <span style="float: left;width:150px;text-align: left;position:relative;margin-top:20px;">
       <select id="selectId" name="左边select的name"  multiple="multiple" style="overflow:visible;width: 150px;height: 300px;text-align: left">
                     
                          <c:forEach items="${xxx}" var="p">   
                              <option  value='<c:out value="${xxx}"/>'>
                              <c:out value="${xxx}" />
                              </option>
                          </c:forEach>
      </select>

      </span>
      
      <!-- 按钮; -->
      <span style="float: left;width:150px;text-align: center;position:relative;margin-top:20px;">
       <br/>
       <input class="btn" type="button" value=">" style="0px solid blue" onclick="getLeftSelectOpt('左边select的name','右边select的name','sigleOption')">
       <br/><br/>
       <input class="btn" type="button" value=">>" style="0px solid blue" onclick="getLeftSelectOpt('左边select的name','右边select的name','allOption')"> 
       <br/><br/>
       <input class="btn" type="button" value="&lt;" style="0px solid blue" onclick="getLeftSelectOpt('右边select的name','左边select的name','sigleOption')">
       <br/><br/>
       <input class="btn" type="button" value="&lt;&lt;" style="0px solid blue" onclick="getLeftSelectOpt('右边select的name','左边select的name','allOption')">
      </span>
      
       <span style="float: left;width:150px;text-align: left;position:relative;margin-top:20px;">


             <select id="rightSelectId" name="右边select的name" multiple="multiple" style="overflow:visible;width: 150px;height: 300px;">
            <c:forEach items="${xxx}" var="b">   
                  <option  value='<c:out value="${xxx}"/>'>
                       <c:out value="${xxx}" />
                  </option>
            </c:forEach>


        </select>
       </span>
       
      </div>
      </center>
     </form>
   
     <input type="button" value="提交" onclick="add();">
     <input type="button" value="返回" onclick="returnBack();">
    
</body>

 
下面的是在网上 找到的别人的:
< html >
< head >
< meta  http-equiv = "Content-Type"  content = "text/html; charset=gb2312" >
< script  language = "javascript" >
<!--
function moveOption(e1,e2)
{
   try
   {
     for(var i=0;i<e1.options.length;i++)
     {
       if(e1.options[i].selected)
       {
         var e = e1.options[i];
         e2.options.add(new Option(e.text, e.value));
         e1.remove(i);
         i=i-1
       }
     }
     document.getElementById('city').value=getvalue(document.getElementById('list2'));
   }
   catch(e){}
}
function getvalue(geto)
{
   var allvalue = "";
   for(var i=0;i<geto.options.length;i++)
   {
     allvalue +=geto.options[i].value + ",";
   }
   return allvalue;
}
//-->
</ script >
</ head >
< body >
< form  id = "myform"  name = "myform"  method = "post" >
   < table  align = "center"  width = "180"  border = "0" >
     < tr >
       < td  width = "80"  align = "center" >
         < select  style = "width:100%"  multiple  id = "list1"  name = "list1"  size = "6"  ondblclick = "moveOption(this, document.getElementById('list2'))" >
           < option  value = "北京" >北京</ option >
           < option  value = "上海" >上海</ option >
           < option  value = "重庆" >重庆</ option >
           < option  value = "天津" >天津</ option >
           < option  value = "陕西" >陕西</ option >
         </ select >
       </ td >
       < td  width = "20"  align = "center" >
         < input  type = "button"  value = "添加"  onclick = "moveOption(document.getElementById('list1'), document.getElementById('list2'))" >< br >< br >
         < input  type = "button"  value = "删除"  onclick = "moveOption(document.getElementById('list2'), document.getElementById('list1'))" >
       </ td >
       < td  width = "80"  align = "center" >
         < select  style = "width:100%"  multiple  id = "list2"  name = "list2"  size = "6"  ondblclick = "moveOption(this, document.getElementById('list1'))" >
         </ select >
       </ td >
     </ tr >
   </ table >
   < div  align = "center" >< input  type = "text"  id = "city"  name = "city"  size = "23"  /></ div >
</ form >
</ body >
</ html >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值