jquery制作select列表双向选择

     做项目的时候要用到的一个小功能,以前做过的,用的纯JS,今天翻出来看发现只能在IE中运行的,自己改成jquery的了,该功能很常见,不过一直不知道他的学名叫什么,所以也就随便起个了,大家看下面的图都应该知道了:

下面是整个网站的HTML代码,用的时候记得导入jquery就行了。

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
    
< title > select列表双向选择 </ title >
    
< style  type ="text/css" >
        select
        
{
            width
:  100% ;             
            height
:  160px ;
        
}
        div
        
{
            float
:  left ;
        
}
        #div1, #div3
        
{
            width
:  150px ;
        
}
        #div2
        
{
            width
:  120px ;
        
}
        .btn
        
{
            display
:  block ;
            margin
:  10px auto ;
            width
:  80px ;
        
}
    
</ style >
</ head >
< body >
    
< div  id ="div1" >
        
< select  id ="dltSource"  name ="dltSource"  size ="10"  multiple ="multiple" >
            
< option  value ="苹果" > 苹果 </ option >
            
< option  value ="雪梨" > 雪梨 </ option >
            
< option  value ="西瓜" > 西瓜 </ option >
            
< option  value ="荔枝" > 荔枝 </ option >
            
< option  value ="龙眼" > 龙眼 </ option >
            
< option  value ="香蕉" > 香蕉 </ option >
        
</ select >
    
</ div >
    
< div  id ="div2" >
        
< input  type ="button"  value ="&gt;"  class ="btn"  onclick ="Add($('#dltSource'),$('#dltTarget'))"   />
        
< input  type ="button"  value ="&gt;&gt;"  class ="btn"  onclick ="AddAll($('#dltSource'),$('#dltTarget'))"   />
        
< input  type ="button"  value ="&lt;"  class ="btn"  onclick ="Add($('#dltTarget'),$('#dltSource'))"   />
        
< input  type ="button"  value ="&lt;&lt;"  class ="btn"  onclick ="AddAll($('#dltTarget'),$('#dltSource'))"   />
    
</ div >
    
< div  id ="div3" >
        
< select  id ="dltTarget"  name ="dltTarget"  size ="10"  multiple ="multiple" >
        
</ select >
    
</ div >
</ body >
</ html >

< script  src ="js/jquery.js"  type ="text/javascript" ></ script >

< script  type ="text/javascript" >
    
/*  添加选择的项  */
    
function  Add(ObjSource, ObjTarget) {
       
if (ObjSource.val()  == null return ;     //  如果没有选择则退出函数,无这句话的话IE6会报错
        $.each(ObjSource.val(),  function (i, n) {     //  循环原列表中选中的值,依次添加到目标列表中
             var  html  =   " <option value=' "   +  n  +   " '> "   +  n  +   " </option> " ;
            ObjTarget.append(html);
        });
        ObjSource.find(
" option:selected " ).remove();   //  原列表中选中的值删除
    }
    
/*  添加全部  */
    
function  AddAll(ObjSource, ObjTarget) {
        ObjTarget.append(ObjSource.html());  
//  目标列表的HTML加上原列表的所有HTML
        ObjSource.empty();   //  原列表清空
    }
</ script >

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值