正常情况下,单选按钮只能实现选中一个的效果。例如爱好字段,这时用户想选择多个,就不能再使用单选按钮了,可以使用 HTML 中的复选框。复选框与单选按钮不同,用户通过点击就可以实现选中或取消,而且不限制选中的数量。

在 HTML 中,把 <input> 标签中的 type 属性设置为 checkbox 可以实现多选框的效果。具体语法格式如下:

<input type="checkbox" />

1. 复选框的常用属性

复选框的常用属性:

  • checked ----用来规定在页面加载时应该被预先选定的 input 元素,当属性值为 checked 时,可以省略。
  • value---- 用来定义被选中时发送到服务器的值。同一组中每个按钮的值应该不同,这样服务器才能辨别提交的是哪一项。
  • id ----规定 HTML 元素的唯一 id。id 值在整个页面是唯一的,不会重复。

1) checked属性

checked 属性用来设置页面加载时复选框的选中状态。当属性值为“checked”时,对应的复选框会被选中。下面我们通过一个简单的示例来进行演示:

<form action="" method="post" name="formName">爱好:<input type="checkbox" name="running" checked>跑步<input type="checkbox" name="reading" checked>阅读<input type="checkbox" name="shopping" checked>购物
</form>

运行结果如图所示:

通过运行结果可以发现,当 name 属性值不同且为复选框都设置checked时,它们都被选中。那么如果我们为 name 属性设置相同的值,会是什么效果呢?

<form action="http://vip.biancheng.net/register.php" method="post" name="formName">爱好:<input type="checkbox" name="running" id="run" checked>跑步<input type="checkbox" name="running" id="read" checked>阅读<input type="checkbox" name="running" id="shop" checked>购物
</form>

运行结果如图所示:

与我们预期的结果可能不太一样:在为单选按钮设置相同的 name 属性值时,只有一个可以被选中,而复选框都被选中了,那么我们是不是可以随便设置复选框的 name 属性呢?当然是不建议的,因为后台在获取用户输入数据时,如果 name 属性相同,很容易混淆。

2) value属性

复选框也有 value 属性,我们来看一下使用方法:

<form action="http://vip.biancheng.net/register.php" method="post" name="formName">爱好:<input type="checkbox" name="running" checked value="run"><input type="checkbox" name="reading" checked value="read"><input type="checkbox" name="shopping" checked value="shop">
</form>

运行结果如图所示:

通过运行结果可以发现,与单行文本框和密码框不同,复选框的 value 值并不显示在页面上。建议为复选框设置不同的 value 属性值,这样在数据提交时,后台可以非常清楚的知道提交的是哪个字段。

3) id属性

为复选框设置 id 属性的目的与单选框相同,共分为 3 种:

  • 配合 <label> 标签使用;
  • 通过 JavaScript 获取元素,对元素进行一系列操作;
  • 通过 CSS 选择元素,为其添加样式。

本节我们将讲述第一种使用方法:

<form action="http://vip.biancheng.net/register.php" method="post" name="formName">爱好:<input type="checkbox" name="running" id="run" checked value="run"><label for="run">跑步</label><input type="checkbox" name="reading" id="read" checked value="read"><label for="read">阅读</label><input type="checkbox" name="shopping" id="shop" checked value="shop"><label for="shop">购物</label>
</form>

运行结果如图所示:

复选框中的 <label> 标签和单选按钮中的 <label> 标签使用方法相同,分为 2 点:

  • <label> 标签主要用来为 <input> 元素定义标记;
  • <label> 标签和 for 属性配合使用时, for 属性指向<input>元素的 id 属性。当点击 <label>标签的内容时,<input> 元素也有相应变化。

我们建议所有的复选框都与 <label> 标签配合使用,一是为了用户体验,二是为了在使用 JavaScript 语言操作数据时更加方便。

2. 总结

关于复选框还有几点需要引起读者的注意:

  • 复选框可以多选,不限制选中的数量;
  • 复选框要想被正确提交,必须设置 name 属性,而且每个复选框的 name 属性值和 value 属性值都建议不同;
  • 复选框建议与 <label> 标签配合使用;
  • <label> 标签中的 for 属性指向复选框的 id 属性,类似绑定。

18、HTML复选框checkbox相关推荐

  1. 使用CSS3美化复选框checkbox

    我们知道HTML默认的复选框样式十分简陋,而以图片代替复选框的美化方式会给页面表单的处理带来麻烦,那么本文将结合实例带您一起了解一下使用CSS3将复选框checkbox进行样式美化,并且带上超酷的滑动 ...

  2. html5复选框样式,11种炫酷CSS3复选框checkbox样式美化效果

    这是一款效果非常酷的CSS3复选框checkbox样式美化效果.该复选框美化效果共有11种.默认的复选框的样式十分不好看,该效果将复选框加一美化,带上了一些动画效果,其中一些制作为滑动按钮的样式. 使 ...

  3. 使用easyui框架form控件,单选按钮radio或复选框checkbox样式问题

    为什么80%的码农都做不了架构师?>>>    easyui只提供了textbox文本框,未提供单选按钮radio或复选框checkbox控件,在使用过程中,会存在单选按钮radio ...

  4. MFC复选框CheckBox使用 ++

    MFC中复选框checkbox控件,至少有四种方法对其进行操作, 第一种是利用Cbutton成员函数GetCheck和SetCheck, 第二种是利用CWnd成员函数IsDlgButtonChecke ...

  5. MFC复选框CheckBox使用

    MFC中复选框checkbox控件,至少有三种方法对其进行操作,他们是利用Cbutton成员函数GetCheck和SetCheck,第二种是利用CWnd成员函数IsDlgButtonChecked,最 ...

  6. bootstrap带有下拉按钮的输入框_关于bootstrap--表单(下拉select、输入框input、文本域textare复选框checkbox和单选按钮radio)...

    html 里面的 role 本质上是增强语义性,当现有的HTML标签不能充分表达语义性的时候,就可以借助role来说明.通常这种情况出现在一些自定义的组件上,这样可增强组件的可访问性.可用性和可交互性 ...

  7. flutter 开关Switch与复选框Checkbox

    Flutter 移动跨平台开发技术分享 目前在西瓜视频上免费刊登 Flutter 系列教程,每日更新,欢迎关注接收提醒 [x1]点击查看提示 [x2]各种系列的教程 [x3]Flutter文章积累目录 ...

  8. 复选框(checkbox)、单选框(radiobox)的使用

    复选框(checkbox).单选框(radiobox)的使用 复选框: HTML: // 复选框 <input type="checkbox" name="chec ...

  9. 【Qt】QTableView中嵌入复选框CheckBox 的四种方法总结

    搜索了一下,QTableView中嵌入复选框CheckBox方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简单,通常用这种方法. 第三种只适合静态显示静态数据用 第四 ...

  10. [Ext JS] 3.5 单选框 Radio与复选框CheckBox

    Radio 与Checkbox Radio 单选框,意思是当有一组同名的单选框时,一次只能选择一个.有单选框,也就有复选框(checkbox),对应的复选框就可以选择多个. Radio 和 Check ...

最新文章

  1. c 普通的文本变成注释文本的快捷键_2019年IntelliJ IDEA快捷键终极大全,绝版!速度收藏!...
  2. linux man命令_CentOS Linux中的man命令
  3. [LeetCode]119.Pascal#39;s Triangle II
  4. WTMPlus 1.1 发布
  5. NeurIPS2021 MBT:多模态数据怎么融合?谷歌提出基于注意力瓶颈的方法,简单高效还省计算量...
  6. 测试电梯的测试用例_测试开发工作者日记:2020.12.24
  7. Linux应用基本命令实验,实验二 linux基本命令的使用
  8. python读取npy文件 mse_python读取mat或npy文件以及将mat文件保存为npy文件(或npy保存为mat)的方法...
  9. 随机微分方程学习笔记01 相对布朗运动的Ito积分
  10. ZYNQ图像处理项目——帧差法运动目标跟踪
  11. wav格式怎么转换成flac?
  12. 论合伙企业相对有限责任公司的比较优势
  13. 端口扫描 -- scanport和superscan
  14. 室内设计师面试技巧有哪些?
  15. 微信小程序开发笔记 支付篇③——微信支付JSAPI下单和微信小程序调起支付(V2版本)
  16. 在线ASCII转换HEX
  17. 批处理删除重复的文件
  18. 自动领取起点网页版的经验值
  19. web太极八卦图纯css
  20. 牛逼c语言代码,这段c语言代码牛逼在哪?

热门文章

  1. 仿爱奇艺H5电影站v1.1源码
  2. 区块链+长三角一体化国家战略+科创板,上海向全球区块链行业发出邀请
  3. python 字符串转数组
  4. openwrt开机自启动
  5. mysql模糊连接查询_mysql 模糊查询 concat()
  6. python安卓程序,python软件安卓版
  7. go语言的gdb调试方法
  8. 运动蓝牙耳机哪个牌子好性价比高、好用的运动耳机推荐
  9. sql清空表数据命令
  10. 怎么查看Oracle安装包版本,如何查看Oracle版本及安装了哪些选项