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 相关文章推荐
jquery怎样实现ajax联动框(二)
Mar 08 Javascript
js触发onchange事件的方法说明
Mar 08 Javascript
JsRender实用入门教程
Oct 31 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
Mar 03 Javascript
javascript闭包概念简单解析(推荐)
Jun 03 Javascript
学习vue.js条件渲染
Dec 03 Javascript
js数组去重的hash方法
Dec 22 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
解决bootstrap中下拉菜单点击后不关闭的问题
Aug 10 Javascript
浅析Vue 防抖与节流的使用
Nov 14 Javascript
javascript实现获取中文汉字拼音首字母
May 19 Javascript
keep-alive保持组件状态的方法
Dec 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 json_decode可能遇到的坑与解决方法
2017/08/03 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
juqery 学习之四 筛选查找
2010/11/30 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
Vue中props的使用详解
2018/06/15 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
浅谈JS和jQuery的区别
2019/03/27 jQuery
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
关于Python的一些学习总结
2018/05/25 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python 两个数据库postgresql对比
2019/10/21 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
城建学院毕业生自荐信
2014/01/31 职场文书
园艺师求职信
2014/03/10 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
Python实现文字pdf转换图片pdf效果
2022/04/03 Python