JavaScript实现两个select下拉框选项左移右移


Posted in Javascript onMarch 09, 2017

今天没事用js写了一个用两个select下拉框之间能互相移动元素的小程序,刚刚才开始学javascript还有很多优化的地方。

Javascript代码

<script type="text/javascript"> 
 
   
  /**选中的元素向右移动**/ 
  function moveRight() 
  { 
     
      //得到第一个select对象 
    var selectElement = document.getElementById("first"); 
    var optionElements = selectElement.getElementsByTagName("option"); 
    var len = optionElements.length; 
   
 
    if(!(selectElement.selectedIndex==-1))  //如果没有选择元素,那么selectedIndex就为-1 
    { 
       
      //得到第二个select对象 
      var selectElement2 = document.getElementById("secend"); 
   
        // 向右移动 
        for(var i=0;i<len ;i++) 
        { 
          selectElement2.appendChild(optionElements[selectElement.selectedIndex]); 
        } 
    } else 
    { 
      alert("您还没有选择需要移动的元素!"); 
    } 
  } 
   
  //移动所有的到右边 
  function moveAll() 
  { 
    //得到第一个select对象 
    var selectElement = document.getElementById("first"); 
    var optionElements = selectElement.getElementsByTagName("option"); 
    var len = optionElements.length; 
    //alert(len); 
   
    //将第一个selected中的数组翻转 
    var firstOption = new Array(); 
    for(var k=len-1;k>=0;k--) 
    { 
      firstOption.push(optionElements[k]); 
   
    } 
    var lens = firstOption.length; 
      //得到第二个select对象 
    var selectElement2 = document.getElementById("secend"); 
    for(var j=lens-1;j>=0;j--) 
    { 
      selectElement2.appendChild(firstOption[j]); 
    } 
  } 
   
  //移动选中的元素到左边 
  function moveLeft() 
  { 
    //首先得到第二个select对象 
    var selectElement = document.getElementById("secend"); 
    var optionElement = selectElement.getElementsByTagName("option"); 
    var len = optionElement.length; 
     
    //再次得到第一个元素 
    if(!(selectElement.selectedIndex==-1)) 
    { 
      var firstSelectElement = document.getElementById("first"); 
      for(i=0;i<len;i++) 
      { 
        firstSelectElement.appendChild(optionElement[selectElement.selectedIndex]);//被选中的那个元素的索引 
      } 
    }else 
    { 
      alert("您还没有选中要移动的项目!"); 
    } 
  } 
   
  //全部向左移 
  function moveAllLeft() 
  { 
    var selectElement = document.getElementById("secend"); 
    var optionElements = document.getElementsByTagName("option"); 
    var len = optionElements.length; 
    var optionEls = new Array(); 
    for(var i=len-1;i>=0;i--) 
    { 
      optionEls.push(optionElements[i]); 
    } 
    var lens = optionEls.length; 
     
    var firstSelectElement = document.getElementById("first"); 
    for(var j=lens-1;j>=0;j--) 
    { 
      firstSelectElement.appendChild(optionEls[j]); 
    } 
  } 
</script>

上面是javascript代码,下面是html加css代码。

Html代码

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>无标题文档</title> 
<style type="text/css"> 
  .select_move { margin:0px auto; width:206px; height:140px; margin-top:300px;} 
  .select_move_1 { float:left;} 
  .select_move_2 { float:left;} 
  .select_move_3 { float:left;} 
</style> 
</head> 
 
<body> 
  <div class="select_move"> 
   
    <div class="select_move_1"> 
     <select name="first" size="10" id="first" multiple="multiple"> 
      <option value="宝马">宝马</option> 
      <option value="丰田">丰田</option> 
      <option value="奥迪">奥迪</option> 
      <option value="凯迪拉克">凯迪拉克</option> 
      <option value="现代">现代</option> 
      <option value="奔驰">奔驰</option> 
      <option value="法拉利">法拉利</option> 
       
     </select> 
    </div> 
     <div class="select_move_2"> 
        <input type="button" value="------>" onclick="moveRight()"/><br /> 
        <input type="button" value="===>" onclick="moveAll()" /><br /> 
        <input type="button" value="<------" onclick="moveLeft()"/><br /> 
        <input type="button" value="<===" onclick="moveAllLeft()"/> 
     </div> 
    <div class="select_move_3"> 
       <select size="10" id="secend" multiple="multiple"> 
       </select> 
    </div> 
  </div> 
   
</body> 
</html>

源码下载:js实现下拉框元素互相移动

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
鼠标移动到一张图片时变为另一张图片
Dec 05 Javascript
js操作iframe的一些方法介绍
Jun 25 Javascript
JavaScript调用客户端Java程序的方法
Jul 27 Javascript
JS简单实现城市二级联动选择插件的方法
Aug 19 Javascript
js倒计时显示实例
Dec 11 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
在一般处理程序(ashx)中弹出js提示语
Aug 16 Javascript
Ionic学习日记实现验证码倒计时
Feb 08 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
vue中filters 传入两个参数 / 使用两个filters的实现方法
Jul 15 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
uniapp电商小程序实现订单30分钟倒计时
Nov 01 Javascript
js实现年月日表单三级联动
Apr 17 #Javascript
js实现3D图片展示效果
Mar 09 #Javascript
JavaScript实现左右下拉框动态增删示例
Mar 09 #Javascript
less简单入门(CSS 预处理语言)
Mar 08 #Javascript
完美实现js选项卡切换效果(二)
Mar 08 #Javascript
微信小程序中用WebStorm使用LESS
Mar 08 #Javascript
Vue常用指令V-model用法
Mar 08 #Javascript
You might like
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
WordPress网站性能优化指南
2015/11/18 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
newxtree.js代码
2007/03/13 Javascript
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
layui导航栏实现代码
2017/05/19 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
对于Python中线程问题的简单讲解
2015/04/03 Python
Python返回真假值(True or False)小技巧
2015/04/10 Python
python处理html转义字符的方法详解
2016/07/01 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
django自带调试服务器的使用详解
2019/08/29 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
基于python图像处理API的使用示例
2020/04/03 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
初婚初育证明
2014/01/14 职场文书
社区平安建设方案
2014/05/25 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
鸟的天堂导游词
2015/01/31 职场文书
投资合作意向书范本
2015/05/08 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android
Golang 并发下的问题定位及解决方案
2022/03/16 Golang
Python学习之os包使用教程详解
2022/03/21 Python
MySQL 数据 data 基本操作
2022/05/04 MySQL
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript