JavaScript实现左右下拉框动态增删示例


Posted in Javascript onMarch 09, 2017

选中下拉框中的选项实现左移右移

效果:

JavaScript实现左右下拉框动态增删示例

1. Html部分代码

<body>
<table align="center">
  <tr>
    <td ><select size="15" id="left" >
      <option>左1</option>
      <option>左2</option>
      <option>左3</option>
      <option>左4</option>
      <option>左5</option>
      <option>左6</option>
      <option>左7</option>
      <option>左8</option>
      <option>左9</option>
      <option>左10</option>
    </select></td>

    <td>
      <input type="button" value="MoveRight" onclick="moveRight()"><br>
      <input type="button" value="MoveAllRight" onclick="moveAllright()"/><br>
      <input type="button" value="MoveLeft" onclick="moveLeft()"><br>
      <input type="button" value="MoveAllLeft" onclick="moveAllLeft()"><br>
    </td>


    <td>
      <select size="15" id="right">
        <option>右1</option>
        <option>右2</option>
        <option>右3</option>
        <option>右4</option>
        <option>右5</option>
        <option>右6</option>
        <option>右7</option>
      </select>
    </td>

    <td></td>
  </tr>

  </table>

</body>

2. JavaScript脚本代码如下:

<script type="text/javascript">
   function moveRight()
   {
     //获取左边select元素节点
     var leftSelectNode = document.getElementById("left");
     //获取子元素节点数组
     //如果选定的索引号为-1,则提示用户
     if (leftSelectNode.selectedIndex == -1)
     {
       alert("请选定需要移动的选项");
       return;
     }
     //获取待移动的选项
     var waitSelection = leftSelectNode.options[leftSelectNode.selectedIndex];
     //获取右边的selec元素节点并加入
     var rightSelectNode = document.getElementById("right");
     //右边新增一个节点
     rightSelectNode.appendChild(waitSelection);

   }

   function moveAllright()
   {//获取select对象
     var leftSelectNode = document.getElementById("left");
     var rightSelectNode = document.getElementById("right");

     var optionsNodes = leftSelectNode.options;

     var length = optionsNodes.length;
     for (var i = 0; i < length; i++)
     {
       rightSelectNode.appendChild(optionsNodes[0]);
     }
   }

   function moveLeft()
   {
     //获取左边的select对象
    var rightSelectNode = document.getElementById("right");
    //没有选中则提示
     if (rightSelectNode.selectedIndex == -1)
     {
       alert("请选择一个选项");
       return;
     }
     //获取待移动的选项
     var waitMoveNode = rightSelectNode.options[rightSelectNode.selectedIndex];
     //获取左边的select对象
     var leftSelectNode = document.getElementById("left");

     //左边的select对象加入节点
     leftSelectNode.appendChild(waitMoveNode);

   }
   function moveAllLeft()
   {
     //获取右边的select对象
     var rightSelectNode = document.getElementById("right");
     var leftSelectNode = document.getElementById("left");

     var length = rightSelectNode.options.length;

     //遍历其option选项并加入到左边的select中
     for (var i = 0; i < length; i++)
     {
       leftSelectNode.appendChild(rightSelectNode.options[0]);
     }
   }

  </script>

3.CSS简单代码如下:

<style>
    select, td
    {
      font:20px/40px '宋体';
    }
    option {width: 100px;
      font:20px/40px '宋体';
    }
    input {
      padding: 3px;
      font:20px/40px '宋体';
      text-align: center;
      width: 130px;
      height: 40px;
      background-color: orange;
    }
  </style>

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

Javascript 相关文章推荐
指定位置如果有图片显示图片,无图片显示广告的JS
Jun 05 Javascript
extjs render 用法介绍
Sep 11 Javascript
上传文件返回的json数据会被提示下载问题解决方案
Dec 03 Javascript
AngularJS轻松实现双击排序的功能
Aug 30 Javascript
Bootstrap列表组学习使用
Feb 09 Javascript
ES6教程之for循环和Map,Set用法分析
Apr 10 Javascript
JavaScript数组的5种迭代方法
Sep 29 Javascript
webstorm和.vue中es6语法报错的解决方法
May 08 Javascript
微信小程序实现折叠展开效果
Jul 19 Javascript
基于Vue 实现一个中规中矩loading组件
Apr 03 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
Jul 31 Javascript
react用Redux中央仓库实现一个todolist
Sep 29 Javascript
less简单入门(CSS 预处理语言)
Mar 08 #Javascript
完美实现js选项卡切换效果(二)
Mar 08 #Javascript
微信小程序中用WebStorm使用LESS
Mar 08 #Javascript
Vue常用指令V-model用法
Mar 08 #Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
Mar 08 #Javascript
vue使用watch 观察路由变化,重新获取内容
Mar 08 #Javascript
js实现倒计时效果(小于10补零)
Mar 08 #Javascript
You might like
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
asp批量修改记录的代码
2008/06/25 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
浅析node.js的模块加载机制
2018/05/25 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
Python聚类算法之DBSACN实例分析
2015/11/20 Python
python结合API实现即时天气信息
2016/01/19 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
《小小雨点》教学反思
2014/02/18 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
村庄环境整治方案
2014/05/15 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
电影地道战观后感
2015/06/04 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python