checkbox管理

这是我写的关于checkbox的管理的方法;

主要目的是1.管理checkbox全选,单个选的状态;(例如当所有的单个选框都选中时,全选框的状态应该是选中,)

2.选中,取消选中时更新数据;

目的:

实现批量操作(批量删除,批量修改)时的状态管理;

并不完善;而且感觉这样做不好;但是技术有限,想不出其他方法了;

如果哪位大神路过,还望指导一下。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>
<body>
    全选<input type="checkbox" id="checkAll" />
    <br />
    选项一<input type="checkbox" id="1" class="checkList" /><br>
    选项二<input type="checkbox" id="2" class="checkList" /><br>
    选项三<input type="checkbox" id="3" class="checkList" /><br>
    选项四<input type="checkbox" id="4" class="checkList" /><br>
    选项五<input type="checkbox" id="5" class="checkList" /><br>
    选项六<input type="checkbox" id="6" class="checkList" />
</body>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
    Array.prototype.indexOf = function(val) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] == val) return i;
        }
        return -1;
    };
    Array.prototype.remove = function(val) {
        var index = this.indexOf(val);
        if (index > -1) {
            this.splice(index, 1);
        }
    };
    var checkBox = {
        cache: [],
        addOrDeteleOne: function ($targetAll, $targetList) {
                var _self = this;
            $targetList.on(‘click‘, function (event) {
                var $tr_id = $(this).attr(‘id‘);
                console.log($(this).is(‘:checked‘));
                if ($(this).is(‘:checked‘)) {
                   _self.cache.push($tr_id);
                } else {
                        _self.cache.remove($tr_id);
                }
                _self.checkAllState($targetAll, $targetList);
                console.log(_self.cache);
            });
        },
        addOrDeleteAll: function ($targetAll, $targetList) {
                var _self = this;
            $targetAll.on(‘click‘, function (event) {
                if (!$(this).is(‘:checked‘)) {

                    $targetList.prop(‘checked‘, false);
                    _self.cache.splice(0, _self.cache.length);
                } else {
                        $targetList.prop(‘checked‘, true);
                        $targetList.each(function (i, ele) {
                            if (_self.cache.indexOf($(ele).attr(‘id‘)) === -1) {
                                _self.cache.push($(ele).attr(‘id‘));
                            }
                        });

                }
                console.log(_self.cache);
            })
        },
        checkAllState: function ($targetAll, $targetList) {
            $targetList.each(function (j, elem) {
                if (!$(elem).is(‘:checked‘)) {
                    $targetAll.prop(‘checked‘, false);
                    return false;
                } else {
                    $targetAll.prop(‘checked‘, true);
                }
            })
        },
        empty: function () {

        }
    };  //方法调用
    checkBox.addOrDeteleOne($(‘#checkAll‘), $(‘.checkList‘));
    checkBox.addOrDeleteAll($(‘#checkAll‘), $(‘.checkList‘));

</script>
</html>
时间: 2024-11-08 15:12:40

checkbox管理的相关文章

WPF学习08:MVVM 预备知识之COMMAND

WPF内建的COMMAND是GOF 提出的23种设计模式中,命令模式的实现. 本文是WPF学习07:MVVM 预备知识之数据绑定的后续,将说明实现COMMAND的三个重点:ICommand  CommandManager InputBindings COMMAND简介 一般情况我们应用设计如下,一个个控件的各类Handler直接关心了如何实现具体的应用逻辑. 借助COMMAND,我们将具体实现的应用逻辑放在COMMAND中实现,控件只需要绑定相应的COMMAND,而无需关心应用逻辑,从而实现界面

JavaScript内容梳理 示例之模态对话框 示例之全选和反选以及取消 示例之后台管理左侧菜单

1 <!DOCTYPE html> 2 <!--示例之模态对话框--> 3 <html lang="en"> 4 <head> 5 <meta charset="UTF-8"> 6 <title>Title</title> 7 <style> 8 .hide{ 9 display: none; 10 } 11 .c1{ 12 position: fixed; 13 lef

php之 人员的权限管理

1.想好权限管理的作用? 2.有什么权限内容? 3.既然有权限管理那么就会有管理员? 4.登录后每个人员的界面会是不一样的? 一.想好这个权限是什么? 就做一个就像是vip的功能,普通用户和vip用户的功能是不一样的,先来考虑一下数据库怎么设计 肯定要有用户表.还有用户所用的角色.然后就是权限功能表:可是在这里面有关联也就 是会另外有两张相互关联的表,这样也就是5张表 在数据库中建好这五张表: (1)用户表.角色表.功能表       (2)主表中的外键关系得两个表:用户与角色表.角色与功能表

cms-帖子管理

mapper: <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.open1111.dao.Article

wxpython 布局管理

一个典型的应用程序是由不同的部件.这些小部件被放进容器部件.一个程序员必须管理应用程序的布局.这不是一项容易的任务.在wxPython我们有两个选择. *absolute positioning*sizers Absolute Positioning绝对位置 程序员指定位置和大小的每个小部件以像素为单位.当你使用绝对定位,你必须了解一些事情. 1.如果你改变窗口大小,大小和位置的一个小部件不改变 2.在各种平台上的应用程序看起来不同 3.更改字体在您的应用程序可能会破坏布局 4.如果你决定改变你

Asp.Net Core 项目实战之权限管理系统(6) 功能管理

0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计 3 Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL 4 Asp.Net Core 项目实战之权限管理系统(4) 依赖注入.仓储.服务的多项目分层实现 5 Asp.Net Core 项目实

手机卫士09_应用程序四种查看_ListView小标题_进程管理

1.悬浮窗体的功能实现: 1.1.应用程序的卸载: 包安装器 packageInstall,包卸载packageruninstall intent.setData(Uri.pare(“package:” + 应用程序包名)) 卸载完之后记得更新list集合,更新适配器. 但是不确定用户是否点了卸载,所以要通过广播获取消息. 并且需要通过代码注册,因为这个广播只在应用管理生效. 要记得addDataSchme(“package”) 接收完广播之后,更新了集合适配器,要记得关闭广播 异常:Concu

权限管理

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,我们所做就是为了实现这一功能. 1.main.php页面: 通过ajax可以在当前页面实现对用户的管理权限进行设定,可显示已经设定好的权限,可以增删 2.chuli.php页面: 通过用户代号找到相应的角色代号,将数据传回main.php页面,实现现有权限的选中状态 3.add.php页面; 点击确定按钮,将用户及选中的权限值传到该页面进行操作,添加到数据库 4.log.php页面; 通过用户名,密码登

PHP 权限管理

login页面 <form action="loginchuli.php" method="post"> <div>用户名:<input type="text" name="uid" /></div> <div>密码:<input type="text" name="pwd" /></div> <i