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 相关文章推荐
Javascript 获取字符串字节数的多种方法
Jun 02 Javascript
js href的用法
May 13 Javascript
js展开闭合效果演示代码
Jul 24 Javascript
深入领悟JavaScript中的面向对象
Nov 18 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
Jun 17 Javascript
基于Vue2.0的分页组件
Mar 16 Javascript
Vue 实用分页paging实例代码
Apr 12 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
Aug 29 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
小程序页面动态配置实现方法
Feb 05 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
Aug 03 Javascript
原生JS与JQ获取元素的区别详解
Feb 13 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
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
JQuery从头学起第三讲
2010/07/06 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
Vue.js数据绑定之data属性
2017/07/07 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
玩转python爬虫之正则表达式
2016/02/17 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
python实现飞机大战游戏
2020/10/26 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
跨域修改iframe页面内容详解
2019/10/31 HTML / CSS
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
药剂专业求职信
2014/06/20 职场文书
财产保全担保书
2015/01/20 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
Python中22个万用公式的小结
2021/07/21 Python
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android