js实现的左右选择框

< SCRIPT LANGUAGE = " JavaScript " >  
<!--  Begin 
sortitems 
=   1 ;   //  Automatically sort items within lists? (1 or 0) 

 function move(fbox,tbox) { 
  
for (var i = 0 ; i < fbox.options.length; i ++ ) { 
    
if (fbox.options[i].selected  &&  fbox.options[i].value  !=   "" ) { 
    var no 
=   new  Option(); 
    no.value 
=  fbox.options[i].value; 
    no.text 
=  fbox.options[i].text; 
    tbox.options[tbox.options.length] 
=  no; 
    fbox.options[i].value 
=   ""
    fbox.options[i].text 
=   ""
       } 
  } 
 BumpUp(fbox); 
 
if  (sortitems) SortD(tbox); 
 } 

   function moveall(fbox,tbox) { 
  
for (var i = 0 ; i < fbox.options.length; i ++ ) { 
    
if (fbox.options[i].value  !=   "" ) { 
    var no 
=   new  Option(); 
    no.value 
=  fbox.options[i].value; 
    no.text 
=  fbox.options[i].text; 
    tbox.options[tbox.options.length] 
=  no; 
    fbox.options[i].value 
=   ""
    fbox.options[i].text 
=   ""
       } 
  } 
 BumpUp(fbox); 
 
if  (sortitems) SortD(tbox); 
 } 


 function BumpUp(box)  { 
  
for (var i = 0 ; i < box.options.length; i ++ ) { 
    
if (box.options[i].value  ==   "" )  { 
       
for (var j = i; j < box.options.length - 1 ; j ++ )  { 
       box.options[j].value 
=  box.options[j + 1 ].value; 
       box.options[j].text 
=  box.options[j + 1 ].text; 
       } 
    var ln 
=  i; 
    
break
       } 
  } 
  
if (ln  <  box.options.length)  { 
  box.options.length 
-=   1
  BumpUp(box); 
     } 
 } 

function SortD(box)  { 
 var temp_opts 
=   new  Array(); 
 var temp 
=   new  Object(); 
 
for (var i = 0 ; i < box.options.length; i ++ )  { 
 temp_opts[i] 
=  box.options[i]; 
 } 

 
for (var x = 0 ; x < temp_opts.length - 1 ; x ++ )  { 
   
for (var y = (x + 1 ); y < temp_opts.length; y ++ )  { 
     
if (temp_opts[x].text  >  temp_opts[y].text)  { 
     temp 
=  temp_opts[x].text; 
     temp_opts[x].text 
=  temp_opts[y].text; 
     temp_opts[y].text 
=  temp; 
     temp 
=  temp_opts[x].value; 
     temp_opts[x].value 
=  temp_opts[y].value; 
     temp_opts[y].value 
=  temp; 
        } 
      } 
 } 

 
for (var i = 0 ; i < box.options.length; i ++ )  { 
 box.options[i].value 
=  temp_opts[i].value; 
 box.options[i].text 
=  temp_opts[i].text; 
    } 


  


   
//  End --> 
</ script >  

< form ACTION = ""  METHOD = " POST " >  
< table border = " 0 " >  
< tr >  
< td >< select multiple size = " 5 "  name = " list1 "  style = " width:250px " >  
< option value = " 11 " >  item  1.1   </ option >  
< option value = " 12 " >  item  1.2   </ option >  
< option value = " 13 " >  item  1.3   </ option >  
</ select ></ td >  
< td >  
< input type = " button "  value = "    >    "  onclick = " move(this.form.list1,this.form.list2) "  name = " B1 " >
 
< input type = " button "  value = "    <    "  onclick = " move(this.form.list2,this.form.list1) "  name = " B2 " >
 

< input type = " button "  value = "    >>    "  onclick = " moveall(this.form.list1,this.form.list2) "  name = " B3 " >
 
< input type = " button "  value = "    <<    "  onclick = " moveall(this.form.list2,this.form.list1) "  name = " B4 " >  
</ td >  
< td >< select multiple size = " 5 "  name = " list2 "  style = " width:250px " >  
< option value = " 21 " >  item  2.1   </ option >  
< option value = " 22 " >  item  2.2   </ option >  
< option value = " 23 " >  item  2.3   </ option >  
</ select ></ td >  


</ tr >  
</ table >  
</ form >  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实现穿梭全选和全不选,可以在页面中添加两个复选,一个表示全选,一个表示全不选,然后通过 JS 代码来实现对所有选项进行选中或取消选中的操作。 以下是一个简单的示例代码: HTML代码: ``` <div> <label><input type="checkbox" id="checkAll">全选</label> <label><input type="checkbox" id="uncheckAll">全不选</label> </div> <div> <select id="left" multiple="multiple"> <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> <option value="4">选项4</option> <option value="5">选项5</option> </select> <div> <button id="toRight">>></button> <button id="toLeft"><<</button> </div> <select id="right" multiple="multiple"></select> </div> ``` JS代码: ``` // 获取元素 var checkAll = document.getElementById('checkAll'); var uncheckAll = document.getElementById('uncheckAll'); var left = document.getElementById('left'); var right = document.getElementById('right'); var toRight = document.getElementById('toRight'); var toLeft = document.getElementById('toLeft'); // 全选/全不选 checkAll.addEventListener('click', function() { for (var i = 0; i < left.options.length; i++) { left.options[i].selected = true; } }); uncheckAll.addEventListener('click', function() { for (var i = 0; i < left.options.length; i++) { left.options[i].selected = false; } }); // 左右穿梭 toRight.addEventListener('click', function() { for (var i = 0; i < left.options.length; i++) { if (left.options[i].selected) { right.appendChild(left.options[i]); i--; } } }); toLeft.addEventListener('click', function() { for (var i = 0; i < right.options.length; i++) { if (right.options[i].selected) { left.appendChild(right.options[i]); i--; } } }); ``` 这样就实现了一个简单的穿梭,可以通过全选/全不选按钮来实现对所有选项的选择,也可以通过左右穿梭按钮来将选中的选项进行穿梭。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值