jQuery实现全选、全不选以及反选操作

时间: 2018-12-09阅读: 1214标签: jquery

在写购物车案例时实现全选操作使用的是js的getAttribute()setAttribute()方法获取checked属性的值是undefined实现完成之后全选操作,如果在全选中的情况下改变其中一个的状态再点击全选,之前被取消的将不在被选中。之后使用js的DOM.checked属相的获得是true或false,操作很方便,很完美没有bug。


学了jquery后单独实现下全选、全不选、反选操作。代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h3>我的爱好</h3>
    <ul>
        <li>
            <input type="checkbox" class="sAll"/>全选 <input type="checkbox" class="sNone"/>全不选 
            <input type="checkbox" class="Inverse"/>反选 
        </li>
        <li><input type="checkbox" class="check"/>篮球</li>
        <li><input type="checkbox" class="check"/>足球</li>
        <li><input type="checkbox" class="check"/>排球</li>
        <li><input type="checkbox" class="check"/>羽毛球</li>
        <li><input type="checkbox" class="check"/>乒乓球</li>
        
    </ul>
    <script src="jquery.js"></script>
    <script>
        /*全选*/
        //1.拿到全选复选框的jquery对象调用change(),当前对象的状态改变时进行下面操作
        $('.sAll').change(function () {
            //2.拿到所有class属相值为check的对象,将其checked属性值设置为true。
            $('.check').attr('checked',true);

            //点击全选,全不选、反选其中一个时其它两的选中状态清除
            $('.sNone').attr('checked',false);
            $('.Inverse').attr('checked',false);
        });
        //alert($('.sAll').attr('checked'));
        /*全不选*/
        $('.sNone').change(function () {
            $('.check').attr('checked',false);
            
            //点击全选,全不选、反选其中一个时其它两的选中状态清除
            $('.sAll').attr('checked',false);
            $('.Inverse').attr('checked',false);
        });
        /*反选*/
        //注意:attr()方法取第一个的值 ,赋值所用
        $('.Inverse').change(function () {
            //遍历所有要操作的复选框
            $('.check').each(function () {
                //如果该复选框的checked属性为true,则改为false,反之为true
                if($(this).attr('checked')){
                    $(this).attr('checked',false);
                }else{
                    $(this).attr('checked',true);
                }
               
            });
            //将全选和全不选的状态去掉(点击全选,全不选、反选其中一个时其它两的选中状态清除)
            $('.sAll').attr('checked',false);
            $('.sNone').attr('checked',false);
        });
    </script>
</body>
</html>


来源:https://www.cnblogs.com/wang--yang/archive/2018/12/09/10091303.html



站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1527

关闭

jquery checkbox选中、改变状态、change和click事件

jquery判断checked的三种方法:jquery赋值checked的几种写法:jquery1.6+:prop的4种赋值:checkbox click和change事件

高效Web开发的10个jQuery代码片段

在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库。今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发者可以保存起来。

前端UI攻城狮 你们该抛弃jQuery了

Web工程师太依赖jQuery了,某种意义上说jQuery已经成了JavaScript的同义词。但是我们真的需要他么?或许我们应该反思一下什么时候才真的需要jQuery。对我个人而言开始使用jQuery的理由是他把我的工作变得简单多了

前端jquery防止数据重复提交

前端在向后端进行数据提交的时候,通常会需要在第一次提交返回前,阻止用户在快速点击发送二次请求,即防止重复提交,最简单的方法是使用标志参数或者 class 元素控制

jQuery ui中sortable draggable droppable的使用

最近工作中用到了jQuery UI中排序和拖拽功能,花了大概一天的时间,搞清楚了大概的参数配置,以及遇到的一些问题,总结如下。

利用jQuery not()方法选取除某个元素外的所有元素

日常的工作中可能会用到,选取处某个或者某些元素外的所有元素。这时我们可以使用 jQuery 遍历中的 not() 方法来排除某些元素,例如根据元素的 #id ,.class 等排除,代码如下:

Jquery插件开发的方法总汇

jquery插件是用来扩展jquery对象的一种方法,它的使用方法是通过jquery对象$来调用。其中Jquery插件开发一共有三种方式:$.extend(),$.fn,$.widget()

原生JS替代jQuery的各种方法汇总

前端发展很快,现代浏览器原生 API 已经足够好用。我们并不需要为了操作 DOM、Event 等再学习一下 jQuery 的 API。同时由于 React、Angular、Vue 等框架的流行,直接操作 DOM 不再是好的模式,jQuery 使用场景大大减少。

时隔一年,jQuery 发布 3.4.0 版本

jQuery 团队的核心开发者 Timmy Willison 今天在官网宣布了 jQuery 3.4.0,这距离上个版本 3.3.x 系列的推出已过去了一年多。Timmy 表示这可能是 3.x 分支的最后一个小版本更新,接下来的工作重心将是 jQuery 4.0 大版本的更新。

jquery中toggleClass(), index()

toggleClass()对设置货已出被选元素的一个或多个类进行切换。该方法检查每个元素中指定的类,如果不存在则添加类,如果已设置则将之删除。这就是所谓的切换效果,不过通过“switch”参数,只能够规定只删除或者添加类。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!