checkbox只有两种值:选中(checked)或未选中(unchecked)。它可以有任何值,但是表单提交时checkbox的值只能是checked或unchecked。它的默认值是unchecked,你可以在HTML中这样控制它:

<!-- Default to unchecked -->
<input type="checkbox"> <!-- Default to checked, XHTML -->
<input type="checkbox" checked="checked" /> <!-- Default to checked, HTML5 -->
<input type="checkbox" checked>

视觉上,checkbox有三种状态:checked、unchecked、indeterminate(不确定的)。看起来就像这样子:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAIAAABL1vtsAAAA80lEQVQ4je3TzU/CMBjHcf7/g/wnmiiJIigBFY2wCNrCpB2leyl9zZblGVc9GDhwkC67Gb/5Xfs5PW19Na71T/xGnLXbPjtBwKm8iPOr7tEuOred7l3vfliDmLzhw2YfIQ4pidjw4ak2EcwX73gVknXEeJyk4+eXGkQwX87QJ1oSEjEeJ5kQUsppEPgSl9d9HNIVZRueSCmttc455xzCC1/ipjeIGE+zTGud53m5j0ZrX6I/GCVpppRyzpVlCQBVVQEAj2NfYvQ4/nlfFAUA7PYJIXyJ18kUIUwI3XAutlttjLHWGKuU9iWaXmfTP1K3P0N8AxNtPnBtvXFFAAAAAElFTkSuQmCC" alt="" />aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAVCAIAAADTi7lxAAABR0lEQVQ4je3TzUsCQRgGcP+4wszugZgfUAQdggiyW7cuRYaYm4c9RIlQYEGH0gqLKFw/WBeapXRddam11V0pnRlmutRhLx46OOKhQw/P+QcvPK/je0xx/EOjQzvh8DAdCoK/hRBCKcUYQwgZoNR5erBCscwnb0ObJ0r9FSHEBhVEYLdYlq3u5+wSP+GJpLNljPEoUEmSG5p+eilOeiILoUSr9c58Gnip1bU38Kz0+tC3cuD0Rq/v5aqisEEPQkkQa4epnNXtZu6AyxebX0sQQgCQ2SC10VzeOHZ6o+KTtriedAe4iyzAGCs1lQ0qiZLaNKbm9lz+mDvABVePCP2CEDY1jQ16zOXb5sdW/Graz80E98/Skj0iXdfZoHyhWKlU65qxHc/s8je9PjYtq9MxDaPNBtlBCFFKCSEIocGVDwuN59dY8/egH9PmXvnWgOrSAAAAAElFTkSuQmCC" alt="" />aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAABPklEQVQ4jWN49vY92YhhEGju6+8nBuHU/IUQIKBZM6lXK6lPK6lPK6lXM7FHI6FLI65dPbpFLbKBKM31J55UH35Yuu9u3vabGesvJyw/Ezn3iEpYDRGaE7urDz3QX3FVf9llvSUXdOef1p55NGDSbuWgMsKaNeI7S3bf0ltyUXfROZ25J7WnH9KcuNu9baOCTx5hzeqxrbmbr+jMO6k984jW5H0avdtVW9fZVS6Tc0slrFktqjFt5WmtKfs1+naotW9QqV+uVD7fJHuWtEMMYc0qodWxcw+pd25WaVylVLFAPn+aXGa/TkK/pHUoYc3KgaWhk3b4tK1zqVpinTfTKHWyTny/amQPUZoV/QrlPbNkXRKl7CIlrUMlrUMlrUIlrUKJ0kx+CiM/bVOUq0hCT9+8e/rmHcman755B2cAACi1cO9azQ9oAAAAAElFTkSuQmCC" alt="" />

对于indeterminate状态的checkbox需要注意的是:你无法在HTML中设置checkbox的状态为indeterminate。因为HTML中没有indeterminate这个属性,你可以通过Javascript脚本来设置它

var checkbox = document.getElementById("reyo-checkbox");
checkbox.indeterminate = true;

或者通过jQuery来设置

$("#reyo-checkbox").prop("indeterminate", true); // prop is jQuery 1.6+
$("#reyo-checkbox").attr("indeterminate", true);
$("#reyo-checkbox").prop("indeterminate", true);
两种都可以,不过新版jquery推荐第二种,两个在其他方面都差不多,我发现的唯一不同就是在checkbox上的时候,需要用prop,不然IE浏览器会不兼容

checkbox的indeterminate状态仅仅是视觉上的,它的值仍然只有checked或unchecked,这意味着indeterminate状态的checkbox的真正价值只是在用户界面上看起来更友好!来看一下我们实际应用的效果:

checkbox的三种状态处理的更多相关文章

  1. checkbox,三种状态设置

    多选按钮的  选中.未选中.半选中(常用于子项有选中,未全选) <input id="ckeckbox" type="checkbox"> $('# ...

  2. WPF中CheckBox三种状态打勾打叉和滑动效果

    本文分为两个demo, 第一个demo实现checkBox的打叉或打勾的效果: 第二个demo部分实现checkBox的滑动效果. Demo1: wpf的CheckBox支持三种状态,但是美中不足的是 ...

  3. 实现CheckBox的三种选中状态(全选、半选、不选)在GridView中模拟树形的功能

    度娘了很多帖子,只说三种状态要用图片替换来做,但没找到有用的例子,被逼自己写了一个 三方控件肯定是很多的,如jstree,可以直接用 由于公司的UDS限制,不能上传图片,只能文字说明了. 就是要在gr ...

  4. 【翻译】checkbox的第三种状态

    checkbox只有两种值:选中(checked)或未选中(unchecked).它可以有任何值,但是表单提交时checkbox的值只能是checked或unchecked.它的默认值是uncheck ...

  5. 让DuiLib CheckBox支持全选、全不选、非全选三种状态

    原文 https://blog.csdn.net/EveyX/article/details/38433783 DuiLib官方库中的Checkbox只有Checked和Uncheck两种状态,但我们 ...

  6. Hibernate 系列 07 - Hibernate中Java对象的三种状态

    引导目录: Hibernate 系列教程 目录 1. Java对象的三种状态 当应用通过调用Hibernate API与框架发生交互时,需要从持久化的角度关注应用对象的生命周期. 持久化声明周期是Hi ...

  7. hibernate三种状态

    转自:http://www.cnblogs.com/xiaoluo501395377/p/3380270.html 学过hibernate的人都可能都知道hibernate有三种状态,transien ...

  8. Hibernate的三种状态及对象生命周期

        理解Hibernate的三种状态,更利于理解Hibernate的运行机制,这些可以让你在开发中对疑点问题的定位产生关键性的帮助. 三种状态 临时状态(Transient):在通过new关键字, ...

  9. hibernate学习笔记之三 持久化的三种状态

    Hibernate持久化对象有3中状态,瞬时对象(transientObjects),持久化对象(persistentObjects),离线对象(detachedObjects) 下图显示持久化三种状 ...

随机推荐

  1. Mysql基础3

    一.客户管理系统CRUD二.大数据分页web页面1.MySQL:分页语句limitSELECT * FROM customer LIMIT m,n;m:代表开始记录的索引.从0开始n:一次取多少条 每 ...

  2. 1064. Complete Binary Search Tree (30)

    分析: 考察BST + 完全二叉树的性质,注意: (1):先用排序排好,然后由于是完全二叉树,我们使用中序来建树. (2):建好之后,层次遍历可以采用队列. #include <iostream ...

  3. CCF 201612-2 火车购票 (暴力)

    问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排5个座位.为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10 ...

  4. Servlet中使用Log4j2

    因为Servlet常用的版本有两个,即2.5与3.0.要在web application中使用Log4j2,还需要加入log4j-web的jar包.log4j通过web.xml中的context参数l ...

  5. [Leetcode][JAVA] Palindrome Partitioning II

    Given a string s, partition s such that every substring of the partition is a palindrome. Return the ...

  6. 人脸识别经典算法二:LBP方法

    与第一篇博文特征脸方法不同,LBP(Local Binary Patterns,局部二值模式)是提取局部特征作为判别依据的.LBP方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题.不过相 ...

  7. java知识点--重写与重载

    重载(Overload): (1)方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型.重载Overloading是一个类中多态性的一种表现.      ...

  8. 让asp.net和php同时在Linux上跑起来

    实现这个想法有很多种方法,我就我最近算是比较熟悉的方式来说给大家吧. 因为有了mono,所以.net才能跨平台,.net都跨平台了,.net平台的童鞋们是不是应该提起精神好好了解下mono呢? 当然了 ...

  9. 从C#到Objective-C

    Objective-C 程序设计语言采用特定的语法,来定义类和方法.调用对象的方法.动态地扩展类,以及创建编程接口,来解决具体问题.Objective-C 作为 C 程序设计语言的超集,支持与 C 相 ...

  10. 体验应用程序在Mac/iPhone/iPad之间的Handoff

    对于苹果新推出的Handoff功能,之前只体验了接电话的Handoff.一个电话打过来,iPhone/iPad/Mac同时响起,这时如果手上拿着东西在吃,就可以直接在Mac上接电话. 除此之外,还可以 ...