zoukankan      html  css  js  c++  java
  • jQuery实现一个全选复选框联动效果

    • 类似邮件列表里的复选框
    • 要求双向联动

    ☛ 【实现】:

    <body>
        <div>
            <input type="checkbox" name="checkAll">全选
        </div>
        <br>
        <div class="cbList">
            <input type="checkbox" name="cb">
            <input type="checkbox" name="cb">
            <input type="checkbox" name="cb">
        </div>
    </body>
    
    <script>
        var $ckAll = $('input[name=checkAll]'),
        		$cb = $('input[name=cb]'),
        		$cbList = $('.cbList');
        
        $ckAll.on('click', function() {
        	var flag = $ckAll.prop('checked');
        
        	if (flag) {
        		$cb.prop('checked', true);
        	} else {
        		$cb.prop('checked', false);
        	}
        
        });
        
        
        $cbList.on('click', function() {
        	var flag = true;
        
        	$.each($cb, function(index, item) {
        		if (!$(item).prop('checked')) {
        			flag = false;
        		}
        	});
        
        	if (flag) {
        		$ckAll.prop('checked', true);
        	} else {
        		$ckAll.prop('checked', false);
        	}
        });
    </script>
    

    ☛ 【补充】:

    (1) 判断是否选中的两种写法:

    var flag = $ckAll.prop('checked');
    var flag = $ckAll.is(':checked');
    

    (2) 注意 attr 和 prop

    attr:作为一个节点属性,初始化之后不会改变
    prop:会随着事件而改变
    
    .attr( "checked" ): checked
    .prop( "checked" ): true
    .is( ":checked" ): true
    

    Scoop It and Enjoy the Ride!
  • 相关阅读:
    独立人格,让人生更美好
    版本控制入门简介
    Android蓝牙操作
    Android Rect和RectF的区别
    做个环保主义的程序员
    java/android下JNI编程总结
    别太单纯,也别太不单纯
    C++ namespace的用法
    JNI编程
    企业架构 - 架构原则
  • 原文地址:https://www.cnblogs.com/Ruth92/p/5836672.html
Copyright © 2011-2022 走看看