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. 谷歌身份验证器加强Linux帐户安全

    下载 Google的身份验证模块 # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...

  2. python学习之路-day4-装饰器&json&pickle

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 一.生成器 1.列表生成式 >>> L = [x * x for x in range(10 ...

  3. 清空form表单下所有的input值-------------jquery

    $(':input','#' + formid).not(':button, :submit, :reset').val('').removeAttr('checked').removeAttr('s ...

  4. ssh: connect to host gihub.com port 22: Connection timed out

    方案1(本人使用此方案,问题得已解决): 可能是ssh-server未安装或者未启动.我的ubuntu 12.04 默认只安装了openssh-client,并没有安装server. 运行 ps -e ...

  5. ubuntu下非本账户的.profile文件的修改

    今天不小心在账户了修改了自己的.profile文件,导致重启之后账户无法进入,点登陆账户后黑屏后就重新回到账户登陆界面.一番折腾之后终于成功修改了原账户中的.profile文件,成功从新进入了原账户. ...

  6. UML用例图中泛化、扩展、包括

    在画用例图的时候,理清用例之间的关系是重点.用例的关系有泛化(generalization).扩展(extend)和包含(include).其中include和extend最易混淆.下面我们结合实例彻 ...

  7. HTTP学习笔记(1)ULR语法

    1,概述 当你打开一个浏览器则会进入一个主页,也许你会想只是打开了浏览器罢了,但是浏览器默默的把这个主页默认的网址发送出去,你只是不知道而已,你只是没有输入而已.我们来做个实验. 1,双击打开 2,可 ...

  8. tomee 第一个 远程调用 Message-driven bean(MDB)

    MDB 整体结构 HelloMDB.java package cn.zno; import javax.jms.Connection; import javax.jms.ConnectionFacto ...

  9. How to do logging in C# with log4net

    If you are writing server code in C# or to a lesser extent desktop/client then it's a good idea to i ...

  10. hdu 5101 n集合选2个不同集合数使和大于k

    http://acm.hdu.edu.cn/showproblem.php?pid=5101 给n个集合,选择两个来自不同集合的数,加和大于k,问有多少种选择方案. 答案=从所有数中选择的两个加和大于 ...