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 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
匹配任意字符的正则表达式写法
Apr 29 Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
Jun 02 Javascript
JavaScript导航脚本判断当前导航
Jul 12 Javascript
jQuery实现的tab标签切换效果示例
Sep 05 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
基于JavaScript实现抽奖系统
Jan 16 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
Feb 05 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
Vue动态创建注册component的实例代码
Jun 14 Javascript
用javascript制作qq注册动态页面
Apr 14 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与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
Python3 批量扫描端口的例子
2019/07/25 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
django中的图片验证码功能
2019/09/18 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
银行办理业务介绍信
2014/01/18 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB
Nebula Graph解决风控业务实践
2022/03/31 MySQL