基于JavaScript实现下拉列表左右移动代码

 更新时间:2017年02月07日 16:29:43   作者:孫瑞  
这篇文章主要介绍了基于JavaScript实现下拉列表左右移动效果,代码简单易懂非常不错,具有参考借鉴价值,需要的朋友可以参考下

废话不多说,先给大家展示一下效果图,如果大家感觉不错,请参考实现代码。

效果图如下所示:

代码如下所示:

<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>选择式下拉菜单</title> 
<script language="javascript" type="text/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);  
          ii=i-1; 
        }  
      }  
      document.form1.city.value=getvalue(document.form1.list2);  
    }catch(e){ 
     }  
  }  
   function getvalue(geto){  
    var allvalue = "";  
    for(var i=0;i<geto.options.length;i++){  
      allvalue +=geto.options[i].value + ",";  
    }  
    return allvalue;  
  } 
   function changepos(obj,index)  
  {  
    if(index==-1){  
      if (obj.selectedIndex>0){  
        //obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex-1)) //swapNode方法只有IE才支持 
        obj.insertBefore(obj.options[obj.selectedIndex], obj.options[obj.selectedIndex - 1]);  
      }  
    }else if(index==1){  
      if (obj.selectedIndex<obj.options.length-1){  
        //obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex+1)) //swapNode方法只有IE才支持 
        obj.insertBefore(obj.options[obj.selectedIndex + 1], obj.options[obj.selectedIndex]);   
      }  
    }  
  }  
</script> 
<style type="text/css"> 
body { 
  font-size: 16px; 
  color: #003300; 
} 
</style> 
</head> 
<body> 
<form method="post" name="form1" action="" style="text-align:center;"> 
 <table border="0" width="300" align="center"> 
  <tr> 
   <td width="40%"><select style="width:100%" multiple name="list1" size="12" ondblclick="moveOption(document.form1.list1, document.form1.list2)"> 
     <option value="张三">张三</option> 
     <option value="李四">李四</option> 
     <option value="王五">王五</option> 
     <option value="赵六">赵六</option> 
     <option value="钱七">钱七</option> 
     <option value="软件">软件</option> 
     <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.form1.list1, document.form1.list2)"/> 
    <br/> 
    <br/> 
    <input type="button" value="删除" onclick="moveOption(document.form1.list2, document.form1.list1)"/></td> 
   <td width="40%"><select style="width:100%" multiple name="list2" size="12" ondblclick="moveOption(document.form1.list2, document.form1.list1)"> 
    </select></td> 
   <td><input type="button" value="上移" onclick="changepos(list2,-1)"/> 
    <br/> 
    <br/> 
    <input type="button" value="下移" onclick="changepos(list2,1)"/></td> 
  </tr> 
 </table> 
 值: 
 <input type="text" name="city" size="40" /> 
</form> 
<p align="center">选定一项或多项然后点击添加或移除(按住shift或ctrl可以多选),<br /> 
 或在选择项上双击进行添加和移除。</p> 
</body> 
</html> 

以上所述是小编给大家介绍的基于JavaScript实现下拉列表左右移动,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • js转换对象为xml

    js转换对象为xml

    本文主要介绍了js转换对象为xml的方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JavaScript提取元素中第一个子元素的实现方法

    JavaScript提取元素中第一个子元素的实现方法

    本文主要介绍了JavaScript提取元素中第一个子元素的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • setTimeout时间设置为0详细解析

    setTimeout时间设置为0详细解析

    setTimeout( ) 是属于 window 的 method, 但我们都是略去 window 这顶层容器名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method,下面这篇文章主要给大家介绍了关于setTimeout时间设置为0的相关资料,需要的朋友可以参考下。
    2018-03-03
  • TinyMCE提交AjaxForm获取不到数据的解决方法

    TinyMCE提交AjaxForm获取不到数据的解决方法

    这篇文章主要介绍了TinyMCE提交AjaxForm获取不到数据的解决方法,实例分析了对应的源码部分与相应的解决方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解

    ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解

    这篇文章主要介绍了ES6中Set和Map数据结构,Map与其它数据结构互相转换操作,结合实例形式详细分析了ES6中的Set和Map数据结构的概念、原理、遍历、去重等操作,以及Map与其它数据结构互相转换操作,需要的朋友可以参考下
    2019-02-02
  • 微信小程序实现自动回复图片消息

    微信小程序实现自动回复图片消息

    这篇文章主要介绍了微信小程序实现客服消息自动回复图片消息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • layer.msg()去掉默认时间,实现手动关闭的方法

    layer.msg()去掉默认时间,实现手动关闭的方法

    今天小编就为大家分享一篇layer.msg()去掉默认时间,实现手动关闭的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • javascript写的日历类(基于pj)

    javascript写的日历类(基于pj)

    在网上搜索了一些用javascript写的日历类都不太令人满意,主要是用了之后还要写很多客户端代码,有空之余,自己动手写了一个。主要是推广自己写的js pr库。
    2010-12-12
  • 三种检测iPhone/iPad设备方向的方法

    三种检测iPhone/iPad设备方向的方法

    这篇文章主要介绍了检测iPhone/iPad设备方向的三种方法,需要的朋友可以参考下
    2014-04-04
  • php基于redis处理session的方法

    php基于redis处理session的方法

    这篇文章主要介绍了php基于redis处理session的方法的相关资料,需要的朋友可以参考下
    2016-03-03

最新评论