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 相关文章推荐
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
Mar 20 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
Aug 12 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
Aug 04 Javascript
node.js中的fs.fchmodSync方法使用说明
Dec 16 Javascript
使用Raygun对Node.js应用进行错误处理的方法
Jun 23 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 Javascript
input 禁止输入特殊字符的四种实现方式
Aug 24 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
Feb 23 Javascript
字太多用...代替的方法(两种)
Mar 15 Javascript
element-ui表格数据转换的示例代码
Aug 24 Javascript
sharp.js安装过程中遇到的问题总结
Apr 02 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的QRcode类与大家分享
2011/11/13 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
vuejs指令详解
2017/02/07 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
vue实现评价星星功能
2020/06/30 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
仓库理货员岗位职责
2013/12/18 职场文书
关于期中考试的反思
2014/02/02 职场文书
幼儿教育感言
2014/02/05 职场文书
开学典礼感言
2014/02/16 职场文书
大学毕业寄语大全
2014/04/10 职场文书
环保建议书100字
2014/05/14 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
工程款申请报告
2015/05/15 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS