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学习笔记(六) Date 日期类型
Jun 19 Javascript
js中方法重载如何实现?以及函数的参数问题
Aug 01 Javascript
js与css实现弹出层覆盖整个页面的方法
Dec 13 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
Apr 22 Javascript
JavaScript中的Math.atan2()方法使用详解
Jun 15 Javascript
Node.js实现JS文件合并小工具
Feb 02 Javascript
JS实现根据文件字节数返回文件大小的方法
Aug 02 Javascript
Jquery组件easyUi实现表单验证示例
Aug 23 Javascript
vue-cli入门之项目结构分析
Apr 20 Javascript
详解node+express+ejs+bootstrap构建项目
Sep 27 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
Dec 16 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
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jquery中动态效果小结
2010/12/16 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
函数式 JavaScript(一)简介
2014/07/07 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
12步教你理解Python装饰器
2016/02/25 Python
Python装饰器用法实例总结
2018/02/07 Python
python实现机器学习之元线性回归
2018/09/06 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
python 实现让字典的value 成为列表
2019/12/16 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
python接入支付宝的实例操作
2020/07/20 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
python drf各类组件的用法和作用
2021/01/12 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
技术总监管理岗位职责
2014/03/09 职场文书
五水共治一句话承诺
2014/05/30 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
实践论读书笔记
2015/06/29 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫