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 DOM学习第四章 getElementByTagNames
Feb 19 Javascript
window.parent与window.openner区别介绍
Apr 12 Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
JS(JQuery)操作Array的相关方法介绍
Feb 11 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
Jun 26 Javascript
基于jquery实现省市联动效果
Nov 23 Javascript
jquery实现倒计时效果
Dec 14 Javascript
Vue概念及常见命令介绍(1)
Dec 08 Javascript
js实现固定宽高滑动轮播图效果
Jan 13 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
Feb 27 Javascript
微信小程序中weui用法解析
Oct 21 Javascript
Vue仿百度搜索功能
Dec 28 Vue.js
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
Syphon 秘笈
2021/03/03 冲泡冲煮
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
php die()与exit()的区别实例详解
2016/12/03 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
模仿百度三维地图的js数据分享
2011/05/12 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
python实现学生信息管理系统
2020/04/05 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
python RC4加密操作示例【测试可用】
2019/09/26 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
好矿嫂事迹材料
2014/01/21 职场文书
坎儿井导游词
2015/02/09 职场文书
红高粱观后感
2015/06/10 职场文书
微信早安问候语
2015/11/10 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs
TS 类型兼容教程示例详解
2022/09/23 Javascript