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 相关文章推荐
IE和Firefox下javascript的兼容写法小结
Dec 10 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
Feb 10 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
javascript排序函数实现数字排序
Jun 26 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
May 25 Javascript
jQuery实现动态添加tr到table的方法
Dec 26 Javascript
简单谈谈Javascript函数中的arguments
Feb 09 Javascript
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 Javascript
JS 实现百度搜索功能
Feb 01 Javascript
vue组件中的数据传递方法
May 14 Javascript
Vue请求JSON Server服务器数据的实现方法
Nov 02 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 表单验证实现代码
2009/03/10 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
JavaScript入门基础
2015/08/12 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
React-intl 实现多语言的示例代码
2017/11/03 Javascript
Vue.js用法详解
2017/11/13 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
python中global用法实例分析
2015/04/30 Python
python动态参数用法实例分析
2015/05/25 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
python3+PyQt5实现柱状图
2018/04/24 Python
超简单的Python HTTP服务
2019/07/22 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
Python日志器使用方法及原理解析
2020/09/27 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
应届护士求职信范文
2014/01/26 职场文书
《猫》教学反思
2014/02/26 职场文书
房产委托公证书
2014/04/08 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
讲文明倡议书
2015/04/29 职场文书