<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. jsp命名规则

    jsp也用驼峰规则命名即可,不要使用下划线,否则在tomcat中容易出现解析错误

  2. VirtualBox复制CentOS后提示Device eth0 does not seem to be present的解决方法

    使用VirtualBox复制一份CentOS后重新设置了网卡地址,导致启动网络服务出现下图错误 解决方案 执行命令,查看/etc/udev/rules.d/70-persistent-net.rule ...

  3. 强化学习读书笔记 - 10 - on-policy控制的近似方法

    强化学习读书笔记 - 10 - on-policy控制的近似方法 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton an ...

  4. info信息的获取

    一.绝对路径(_SERVER[“SCRIPT_FILENAME”])这个是最常用,也是最有效的一个办法,找到phpinfo()页面可以直接找到网站的绝对路径,对于写shell和信息搜集是必不可少的.二 ...

  5. nginx交替出现404和200

    今天在调试接口的时候,发现一个奇怪的问题,服务器接口交替返回404和200错误. 排查的时候发现nginx下有大量的404错误记录,而tomcat有两个,一个有正常的访问记录,而另一个虽然启动正常,但 ...

  6. 转发——谷歌云官方:一小时掌握深度学习和 TensorFlow

    转发——谷歌云官方:一小时掌握深度学习和 TensorFlow 本文转发自新智元,链接如下: http://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==& ...

  7. CentOS7使用阿里源安装最新版Docker

    卸载已经安装的Docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker ...

  8. leetcode个人题解——#31 Next Permutation

    写这题时脑子比较混乱,重写了一遍wiki大佬的解法. 算法: According to Wikipedia, a man named Narayana Pandita presented the fo ...

  9. presto 配置mysql.properties异常Database (catalog) must not be specified in JDBC URL for MySQL connector

    在presto 0.210 以后配置mysql.properties的时候,对于jdbc-url属性配置后面要加上对应要链接的database connection-url=jdbc:mysql:// ...

  10. 第16次Scrum会议(10/28)【欢迎来怼】

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华小组照片 二.开会信息 时间:2017/10/28 17:20~17:32,总计12min.地点:东北师范 ...