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. VS快捷键设置

    设置VS快捷键,这里以关闭当前窗口为例子: 步骤: 1.tool=>option=>environment=>keyboard 2.百度关闭当前窗口的command是什么,百度出来是 ...

  2. table中的标题行冻结的简单实现

    这里只是简单的实现,主要是用了position属性的fixed属性值,这个属性值需要高版本浏览器的支持,如果要兼容低版本的浏览器可以通过写脚本的方式实现,也可以使用UI库,有些UI库里面表格插件的标题 ...

  3. 用Fragment制作的Tab页面产生的UI重叠问题

    本文出处:http://blog.csdn.net/twilight041132/article/details/43812745 在用Fragment做Tab页面,发现有时候进入应用会同时显示多个T ...

  4. 窗口类(Window Class)概述

    windows窗口编程(通常意义上的win32)有几个比较核心的概念:入口函数WinMain.窗口类Window Class.窗口过程.消息处理机制.通用控件.本文主要介绍窗口类的相关概念,包括: 窗 ...

  5. iOS AFNetWorking 下载pdf文档

    + (void)downLoadPdf:(NSString *)url pdf_id:(NSString *)pdf_id block:(APIFilePath)pdfFilePath {    NS ...

  6. [ACM] hdu 1025 Constructing Roads In JGShining's Kingdom (最长递增子序列,lower_bound使用)

    Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65 ...

  7. OpenGL(四)——有用的函数

    概述 1. reshape 定义窗口和图像的映射关系,使在不以纵横比4:3调整窗口大小时,图像不会失真 函数 1. ReShape 如果变更后的窗体的横纵比大于4/3,需要以高为基数,宽为高*4/3, ...

  8. PCB检查事项,生成钻孔表

    PCB检查事项 检查器件是否都放完, 检查连接线是否全部布完, 检查Dangling Line,Via, 查看铜皮是否孤立和无网络铜皮, 检查DRC, 1.选择菜单Display-Status,查看标 ...

  9. Dynamic CRM 2013学习笔记(四十五)修改实体及字段的前缀(不用new_开头)

    最近做一个升级的CRM项目,为了区分哪些是新增的,所以决定用一个新的前缀来定义实体及新加的字段.之前用的是new_开头,现在改成tm_开头.   原来只要是新建实体或字段都是new_开头:   1. ...

  10. windows下重启mysql

    其中第二种方法对我这无效,以后再搞清楚! 一.MYSQL服务 我的电脑——(右键)管理——服务与应用程序——服务——MYSQL——开启(停止.重启动) 二.命令行方式 Windows 1.点击“开始” ...