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 相关文章推荐
小试JQuery的AutoComplete插件
May 04 Javascript
js 判断图片是否加载完以及实现图片的预下载
Aug 14 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
Oct 14 Javascript
jQuery的css() 方法使用指南
May 03 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
Nov 06 Javascript
Javascript从数组中随机取出不同元素的两种方法
Sep 22 Javascript
jQuery.uploadify文件上传组件实例讲解
Sep 23 Javascript
Javascript动画效果(4)
Oct 11 Javascript
webstorm添加*.vue文件支持
May 08 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
vue实现div单选多选功能
Jul 16 Javascript
vue-cli4使用全局less文件中的变量配置操作
Oct 21 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
PHP5 的对象赋值机制介绍
2011/08/02 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
PHP7 新增常量
2021/03/09 PHP
自己编写的类似JS的trim方法
2013/10/09 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
使用js画图之画切线
2015/01/12 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
基于vue的video播放器的实现示例
2021/02/19 Vue.js
用python删除java文件头上版权信息的方法
2014/07/31 Python
Python计算回文数的方法
2015/03/11 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
中国医药集团国药在线:国药网
2017/02/06 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
护理专业毕业生自荐信范文
2014/01/05 职场文书
区级文明单位申报材料
2014/05/15 职场文书
会计学专业求职信
2014/07/17 职场文书
树转促学习心得体会
2014/09/10 职场文书
冰峪沟导游词
2015/02/09 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
不同意离婚上诉状
2015/05/23 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL
windows安装python超详细图文教程
2021/05/21 Python