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 相关文章推荐
javascript arguments 传递给函数的隐含参数
Aug 21 Javascript
js 数组克隆方法 小结
Mar 20 Javascript
关于COOKIE个数与大小的问题
Jan 17 Javascript
基于jquery &amp; json的省市区联动代码
Jun 26 Javascript
document.all的一个比较完整的总结及案例
Jan 31 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
Sep 01 Javascript
Bootstrap每天必学之按钮(一)
Nov 24 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
Jan 05 Javascript
JS运动特效之完美运动框架实例分析
Jan 24 Javascript
8 个有用的JS技巧(推荐)
Jul 03 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
May 31 Javascript
JS函数式编程实现XDM一
Jun 16 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
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
Js的MessageBox
2006/12/03 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
用JS在浏览器中创建下载文件
2014/03/05 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
python创建线程示例
2014/05/06 Python
Python下使用Psyco模块优化运行速度
2015/04/05 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
django用户登录验证的完整示例代码
2019/07/21 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
python安装本地whl的实例步骤
2019/10/12 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
颂军魂爱军营演讲稿
2014/09/13 职场文书
大连星海广场导游词
2015/02/10 职场文书
北京导游词
2015/02/12 职场文书
写给导师的自荐信
2015/03/06 职场文书
一条慢SQL语句引发的改造之路
2022/03/16 MySQL
Python 文字识别
2022/05/11 Python