jquery实现复选框全选,全不选,反选中的问题

今天试了一下用jquery选择复选框,本来以为很简单的东西却有bug,于是搜索了一下找到了解决方法。

html代码如下(这里没有用任何样式,就没有再放css了):

<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="test_ch5.css" >
        <title>test_ch5</title>
    </head>
    <body>
        <div id="wrapper">
            <form action="" method="post">
                    <p>你最爱好的运动是?</p>
                    <input type="checkbox" name="items" >足球
                    <input type="checkbox" name="items">篮球
                    <input type="checkbox" name="items">羽毛球
                    <input type="checkbox" name="items">乒乓球<br>
                    <input type="button" id="all" value="全 选">
                    <input type="button" id="no" value="全不选">
                    <input type="button" id="reverse" value="反 选">
                    <input type="button" id="send" value="提 交">
                </form>
        </div>
    </body>
<script src="jquery-3.2.1.js"></script>
<script>
    $(function(){
        $("#all").click(function(){
            $(‘[name=items]:checkbox‘).prop(‘checked‘,true);
        });
        $("#no").click(function() {
            $(‘[type=checkbox]:checkbox‘).prop(‘checked‘,false);
        });
        $("#reverse").click(function() {
            $(‘input[name=items]‘).each(function(){
                $(this).prop(‘checked‘,!$(this).prop(‘checked‘));
            });
        });

 })
</script>
</html>

界面如下:

之前不知道有prop,使用prop的地方全部用的是attr,发现实现不了想要的功能啊,然后才发现的prop,它是是jquery1.6以后出来的,用来区别之前的.attr()方法.
区别最大的一点就是:布尔型的属性,1.6以后都是用.prop()方法就好了。
这个布尔型的属性,再解释一下,是属性值只有true|false的属性。
还有种情况就是只添加属性名,不需要写属性值的就可以生效的也同样使用.prop()方法。比如:checked、disable这样的,其实它们说到底还是属于布尔型的属性。

1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();
3.其他则使用attr();

时间: 2024-11-09 00:48:37

jquery实现复选框全选,全不选,反选中的问题的相关文章

ExtJs实现复选框组Checkboxgroup单勾选及复选框组对多个复选框组跨控件全选

ExtJs实现复选框Checkboxgroup单勾选及跨控件全选 由于项目的需要,我们要将EXT的控件Checkboxgroup复选框组改造成但勾选,并且实现一个复选框组控制其他多个复选框组的全选,以下是关于如何实现的代码片段. 1.创建CheckboxGroup对象 1,新建空的EOS6.5的工程,新建com.towngas.tcis. gridlock构件包: 2,在com.towngas.tcis.gridlock构件包的"展现"节点下的"页面资源"节点中创建

js 全选选框与取消全选代码

设置一个全选选框和四个子选框,要实现点击全选后四个子选框选中,取消全选后四个子选框也取消.全选后点击某个子选框,全选也能取消.当四个子选框都选中时,全选框也被选择. 实现代码: <script> var a=document.getElementById("a"); var b=document.getElementsByClassName("b"); //全选与取消全选 var y=true; a.onchange=function(){ if(a.c

CheckedListBoxControl 实现复选框的单选与多选功能

由于工作需要,需要实现复选框的单选与多选功能,找了好多资料都不是很全,经过两天苦苦的挖挖挖,终于完成啦O(∩_∩)O哈哈~ 用DEV控件中的CheckedListBoxControl控件,当然VS中的复选框组合控件应该按照下面方法也可以实现该功能,可以试下(⊙o⊙)哦 代码来啦O(∩_∩)O哈哈~ 1 //首先触发SelectedIndexChanged事件,然后再触发ItemCheck事件 2 3 //存储选中的复选框的值 4 string strGXY=string.Empty; 5 pri

实现在DevExpress.XtraGrid.GridControl的列头绘制复选框以实现全选的功能

首先新建一个Win Form测试项目,拖一个GridControl控件到窗体上. 1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5 InitializeComponent(); 6 } 7 8 private Rectangle checkBoxColumnHeaderRect = Rectangle.Empty; 9 private GridColumn checkBoxColumn = null; 10 privat

自定义复选框样式及全选操作

自定义复选框样式 复选框结构 input框去其样式宽高为0;定位到父盒子内,我们需用其:checked 属性 下面的span为自定义样式,定位到父盒子内 . 效果展示 js 代码 模拟复选框样式 $(".ck_MN").click(function(){ var ck_Inp = $(this).siblings(".ckIpt"); var Ck_box = $(this).parents(".Ckbox"); if(ck_Inp.prop(&

html,javaScript中怎么控制复选框checkbox的全选,全不选,以及全选中,全选按钮选中,其中一个或者多个没选,则全选按钮不被选中

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ include file="/commons/jsp/htmtag.jsp"%> <html><head> <meta http-equiv="Content-Type"

Jquery默认选中单选框radio第一个、选中指定值的单选框

概述 当页面加载时,指定区域的单选框默认选中第一个:用户勾选单选框之后,再次回到页面时,需要选中上次勾选的单选框 JS 选中指定id为"admin-content-task"中的某个radio // 页面隐藏域的值 var platIdVal = $("#platIdVal").val(); // 如果platIdVal为空,说明没有勾选单选框 if(platIdVal==null || platIdVal == ''){ // 默认选中平台单选框的第一个 $(&q

element-ui 复选框,实现点击表格当前行选中或取消

背景: 1.表格结构绑定事件 <el-table v-loading="StepsListLoading" :data="StepsListData" border @row-click="StepsListRowClick" :show-header="hiddenTableHeader" > 2.定义复选框结构 <el-table-column> <template slot-scope=&q

layui 复选框checkbox 实现全选全选

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="layui/css/layui.css" media="all"> </head> &l

Mutiselect下拉复选框(保存和设置默认选中项)

HTML代码 <asp:DropDownList ID="ddlWarehouseIds" runat="server" CssClass="ddl"></asp:DropDownList> <input type="hidden" name="<%#Eval("WarehouseNames")%>" id="hid_<%#Eva