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 相关文章推荐
js中几种去掉字串左右空格的方法
Dec 25 Javascript
kmock javascript 单元测试代码
Feb 06 Javascript
js图片预加载示例
Apr 30 Javascript
jquery获取及设置outerhtml的方法
Mar 09 Javascript
使用AngularJS实现表单向导的方法
Jun 19 Javascript
jQuery基于json与cookie实现购物车的方法
Apr 15 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
Sep 04 Javascript
jQuery基本过滤选择器用法示例
Sep 09 Javascript
JS中如何实现点击a标签返回页面顶部的问题
Jan 19 Javascript
Vue动态组件和异步组件原理详解
May 06 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 Javascript
基于vue实现简易打地鼠游戏
Aug 21 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
一个目录遍历函数
2006/10/09 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
PHP多进程编程实例详解
2017/07/19 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
python实现杨辉三角思路
2017/07/14 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
介绍一下木马病毒的种类
2015/07/26 面试题
优秀老师事迹材料
2014/02/05 职场文书
汽车专业求职信
2014/06/05 职场文书
电子专业自荐信
2014/07/01 职场文书
普通话演讲稿
2014/09/03 职场文书
2014年超市工作总结
2014/11/19 职场文书
上甘岭观后感
2015/06/10 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
Python字典的基础操作
2021/11/01 Python
如何利用React实现图片识别App
2022/02/18 Javascript