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 相关文章推荐
添加到收藏夹代码(兼容几乎所有的浏览器)
Jan 09 Javascript
用jscript实现新建word文档
Jun 15 Javascript
JavaScript中SQL语句的应用实现
May 04 Javascript
JavaScript中使用构造函数实现继承的代码
Aug 12 Javascript
window.location不跳转的问题解决方法
Apr 17 Javascript
javascript实现切换td中的值
Dec 05 Javascript
24款热门实用的jQuery插件推荐
Dec 24 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
May 08 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
Mar 03 Javascript
微信小程序 动态绑定数据及动态事件处理
Mar 14 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日历程序
2006/12/06 PHP
php对数组排序代码分享
2014/02/24 PHP
php微信开发自定义菜单
2016/08/27 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
jquery 常用操作方法
2010/01/28 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
Three.js学习之网格
2016/08/10 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
深入解析Python中的上下文管理器
2016/06/28 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
高校辅导员推荐信范文
2013/12/25 职场文书
党员一句话承诺大全
2014/03/28 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
我的画教学反思
2014/04/28 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL