<div class="selectList selectQgClass" id="selectQgClass">
<div class="J_selAll selDataList" style="background: #e5e5e5;">
<span class="J_check check" data-id="全部"></span>
<span class="qgClassdatas">全部</span>
</div>
<div class="selDataList">
<span class="J_check check" data-id="全部"></span>
<span class="qgClassdatas">初二物理精品班</span>
</div>
<div class="selDataList">
<span class="J_check check" data-id="青果一班"></span>
<span class="qgClassdatas"huachengj1980.com>青果一班</span>
</div>
<div class="selDataList">
<span class="J_check check" data-id="青果二班"></span>
<span class="qgClassdatas">青果二班</span>
</div>
<div class="selDataList"dasheng178.com>
<span class="J_check check" data-id="期末满分班"></span>
<span class="qgClassdatas">期末满分班</span>
</div>
<div class="selDataList">
<span class="J_check check" data-id="初一数学班"></span>
<span class="qgClassdatas">初一数学班</span>
</div>
<div class="selDataList">
<span class="J_check check" data-id="青果三班"></span>
<span class="qgClassdatas">青果三班</span>
</div>
<div class="selDataList">
<span class="J_check check" data-id="青果精品班"></span>
<span class="qgClassdatas">青果精品班</span>
</div>
<div class="bottomBtn">
<p class="j_selCancel selbtn left">取消</p>
<p class="j_selSure selbtn left">确定</p>
</div>
</div>

[javascript] view plain copy
/**
* @Author QG
* @DateTime 2018-03-29
* @desc [青果班级选择]
* @version [version]
* @param [type] ele [description]
* @return [type] [description]
*/
function selQgClass(f) {
var o = {
ele:'selectQgClass',
child:'selDataList',
cancle:function(www.2636666.cn ){},
sure:function(www.mhylpt.com/){}
}
this.f = $.extend(o, f);

this.dom = document.getElementById(o.ele);
this.single = document.getElementsByClassName(o.child);
this.cancle = this.dom.getElementsByClassName('j_selCancel');
this.sure = this.dom.getElementsByClassName('j_selSure');
this.init();
}

selQgClass.prototype = {
init:function(www.taohuayuan178.com/) {
this.handle(www.dashuju178.com );
},
chooseAll:function(flag) {
if(flag){
//全选
$(this.dom).find('.check').addClass('checked');
}else{
//取消全选
$(this.dom).find('.check').removeClass('checked');
}
},
total:function(flag) {
//统计选中个数
var len = this.single.length - 1;
var checke = this.dom.getElementsByClassName('checked');
var checkLen = flag ? checke.length-1 : checke.length;
if(checkLen < len){
$(this.single[0]).find('.check').removeClass('checked');
}else{
$(this.single[0]).find('.check').addClass('checked');
}
},
handle:function() {
var _that = this;

$(this.single).click(function(e){
G.stopPropagation(e);
var _this = $(this);
var singleCheck = _this.find('.check');
if(_this.hasClass('J_selAll')){
//全选按钮
_that.chooseAll(!singleCheck.hasClass('checked'));
}else{
//单选按钮
if(singleCheck.hasClass('checked')){
//取消选择
singleCheck.removeClass('checked');
}else{
//选择
singleCheck.addClass('checked');
}
_that.total($('.J_selAll').find('.check').hasClass('checked'))
}
})

//取消
$('.j_selCancel').click(function(){
if (_that.f.cancle && $.isFunction(_that.f.cancle)) {
_that.f.cancle.call(_that)
}
_that.chooseAll(false);
})
//确认
$('.j_selSure').click(function(){
if (_that.f.sure && $.isFunction(_that.f.sure)) {
_that.f.sure.call(_that)
}
})
}
}

[javascript] view plain copy
/**
* [sel description]
* @type 父元素selectQgClass 子元素selDataList
*/
var sel = new selQgClass({
ele:'selectQgClass',
child:'selDataList',
cancle:function(){

},
sure:function(){
var arr = [];
var checked = $(this.single);
checked.each(function(){
var checVal = $(this).find('.J_check');
if(checVal.hasClass('checked')){
arr.push(checVal.attr('data-id'))
}
});
console.log(arr)

}
});

js复选框插件的更多相关文章

  1. js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中

    <!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...

  2. js复选框全选反选

    本篇文章是关于复选框的,有2种形式:1.全选.反选由2个按钮实现:2.全选.反选由一个按钮实现. <!DOCTYPE html> <html> <head> < ...

  3. Vue.js 复选框

    demo <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  4. JS复选框选中

    Web前端之复选框选中属性   熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好了.博主之前用户不少方法,经常 ...

  5. js复选框实现全选、全不选、反选

    复选框为checkbox对象 通过input就可以将一个简单的复选框呈现在页面上 <input type="checkbox" /> 要实现的大概就是这样一个页面 思路 ...

  6. js复选框全选

    <input name='chkAll' type='checkbox' id='chkAll' onclick='CheckAll(this.form)' value='checkbox'&g ...

  7. js复选框操作

    $(".checkall").click(function () {                if (this.checked) {                    $ ...

  8. js 复选框回显

    <div class="control-group"> <label class="control-label">客户状态:</l ...

  9. jenkins复选框插件Extended Choice Parameter plugin

    转载 https://www.cnblogs.com/zndxall/p/9512059.html https://www.cnblogs.com/jwentest/p/7113399.html

随机推荐

  1. python与其他语言的区别

    C 和 Python.Java.C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处 ...

  2. 打造linux下的source insight——vim插件安装使用总结

    source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...

  3. json简单操作

    通过内置的json模块对json数据进行编码 1.对数据进行编码(dumps) import json #使用dumps将python数据结构转换为json data = { , "name ...

  4. Mac下布置appium环境

    1.下载或者更新Homebrew:homebrew官网 macOS 不可或缺的套件管理器 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githu ...

  5. 自动化运维工具saltstack01 -- 之SaltStack介绍、安装与基础使用

    SaltStack介绍 官网地址:http://www.saltstack.com 官方文档地址:http://docs.saltstack.com Github:http://Github.com/ ...

  6. org.apache.poi版本问题

    问题描述: 今天跑一段历史代码,发现不能启动,抛出java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK 问题 解决办法: 把org.apache.poi的 ...

  7. Kafka安装之二 在CentOS 7上安装Kafka

    一.简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这 ...

  8. 2.openldap安装

    1.安装步骤如下 获取软件包 安装软件包(rpm或者源码编译) 生产openldap配置文件及数据库文件 配置 添加目录树条目 加载slapd进程 验证 2.所需安装包说明 openldap,open ...

  9. kylin-note

    http://www.cnblogs.com/tgzhu/category/915975.html https://sdk.cn/news/3566 https://www.linuxidc.com/ ...

  10. mysql常用语句入门整理

    这篇属于小白入门级别,如果你已经高手可以直接跳过 1.运行数据库mysqld.exe,客户端直接mysql -uroot(root是默认用户名) -p 2 showdatabases,showtabl ...