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 相关文章推荐
document.createElement()用法及注意事项(ff下不兼容)
Mar 13 Javascript
JS设置获取cookies的方法
Jan 26 Javascript
jQuery学习笔记之总体架构
Jun 03 Javascript
多个jQuery版本共存的处理方案
Mar 17 Javascript
纯CSS3代码实现滑动开关效果
Aug 19 Javascript
JavaScript编写简单的计算器
Nov 25 Javascript
JS实现页面打印功能
Mar 16 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
JS中this的4种绑定规则详解
Feb 04 Javascript
小程序瀑布流组件实现翻页与图片懒加载
May 19 Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 Javascript
如何用JavaScript实现一个数组惰性求值库
May 05 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:风雨欲来 路在何方?
2006/10/09 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
详解微信小程序开发(项目从零开始)
2019/06/06 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
python 测试实现方法
2008/12/24 Python
python函数局部变量用法实例分析
2015/08/04 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python3实现表白神器
2019/04/09 Python
基于Python绘制个人足迹地图
2020/06/01 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
介绍一下木马病毒的种类
2015/07/26 面试题
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
销售顾问的岗位职责
2013/11/13 职场文书
应届毕业生应聘自荐信范文
2014/02/26 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
代理协议书范本
2014/04/22 职场文书
行风评议整改报告
2014/11/06 职场文书
2014年服务员工作总结
2014/11/18 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
python 远程执行命令的详细代码
2022/02/15 Python
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技