javascript基于DOM实现权限选择实例分析


Posted in Javascript onMay 14, 2015

本文实例讲述了javascript基于DOM实现权限选择的方法。分享给大家供大家参考。具体实现方法如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>权限选择</title>
<script type="text/javascript">
//====================多选操作====================================
function selMultiple(selectSrc, selectDes) {
  for (var i = selectSrc.childNodes.length - 1; i >= 0; i--) {
    var option = selectSrc.childNodes[i];
    if (option.selected == true) {
      selectSrc.removeChild(option);
      option.selected = false;
      selectDes.appendChild(option);
    }
  }
}
function selectToRight() {
  var selectSrc = document.getElementById("select1");
  var selectDes = document.getElementById("select2");
  selMultiple(selectSrc, selectDes);
}
function selectToLeft() {
  var selectSrc = document.getElementById("select2");
  var selectDes = document.getElementById("select1");
  selMultiple(selectSrc, selectDes);
}
//====================全选操作====================================
function selAll(selectSrc, selectDes) {
//      这种写法有问题,发现selectSrc.childNodes.length居然等于10,实际上只有5个元素
//      for (var i = 0; i < selectSrc.childNodes.length; i++) {
//        var option = selectSrc.childNodes[0];
//        selectSrc.removeChild(option);
//        selectDes.appendChild(option);
//      }
  var options = selectSrc.getElementsByTagName("option");
  var optLength = options.length;
  /*
  注意:for循环中不能直接使用options.length,因为selectDes.appendChild执行后
  会导致options.length减一,所以先把options.length存放到一个变量中备用
  */
  for (var i = 0; i < optLength; i++) {
    var option = options[0]; //这里使用的始终是第0个元素
    selectDes.appendChild(option);
  }
  selectSrc.options.length = 0;
}
function selectToRightAll() {
  var selectSrc = document.getElementById("select1");
  var selectDes = document.getElementById("select2");
  selAll(selectSrc, selectDes);      
}
function selectToLeftAll() {
  var selectSrc = document.getElementById("select2");
  var selectDes = document.getElementById("select1");
  selAll(selectSrc, selectDes);    
}
</script>
</head>
<body>
<select id="select1" multiple="multiple" style="float:left;width:100px;height:200px;">
<option>添加</option>
<option>删除</option>
<option>修改</option>
<option>保存</option>
<option>查询</option>
</select>
<div style="float:left;width:50px;">
<input type="button" style="float:left;width:100%;" value=">" onclick="selectToRight()" />
<input type="button" style="float:left;width:100%;" value="<" onclick="selectToLeft()" />
<input type="button" style="float:left;width:100%;" value=">>" onclick="selectToRightAll()" />
<input type="button" style="float:left;width:100%;" value="<<" onclick="selectToLeftAll()" />
</div>
<select id="select2" multiple="multiple" style="float:left;width:100px;height:200px"></select>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
Javascript 继承机制的实现
Aug 12 Javascript
jQuery load方法用法集锦
Dec 06 Javascript
jQuery常见开发技巧详细整理
Jan 02 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
输入框过滤非数字的js代码
Sep 18 Javascript
jQuery常用数据处理方法小结
Feb 20 Javascript
如何在Linux上安装Node.js
Apr 01 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
Jun 01 Javascript
详解vue-cli中配置sass
Jun 21 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
前端axios下载excel文件(二进制)的处理方法
Jul 31 Javascript
通过js实现压缩图片上传功能
Feb 25 Javascript
javascript中DOM复选框选择用法实例
May 14 #Javascript
JS对字符串编码的几种方式使用指南
May 14 #Javascript
jQuery的基本概念与高级编程
May 14 #Javascript
javascript实现简单的省市区三级联动
May 14 #Javascript
javascript实现仿腾讯游戏选择
May 14 #Javascript
JavaScript实现Flash炫光波动特效
May 14 #Javascript
javascript基于DOM实现省市级联下拉框的方法
May 14 #Javascript
You might like
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
php输出形式实例整理
2020/05/05 PHP
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
Underscore.js 的模板功能介绍与应用
2012/12/24 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
Python with用法实例
2015/04/14 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
python实现彩票系统
2020/06/28 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
python 变量初始化空列表的例子
2019/11/28 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
学前班教师的自我鉴定
2013/12/05 职场文书
新员工入职感言
2014/02/01 职场文书
《雷鸣电闪波尔卡》教学反思
2014/02/23 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
党员实事承诺书
2014/03/26 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python
Python使用MapReduce进行简单的销售统计
2022/04/22 Python