jquery - 知道复选框是否被选中的正确方法

标签 jquery html checkbox checked

<分区>

Possible Duplicate:
Check if checkbox is checked with jQuery

我对输入类型复选框的工作方式有点困惑。

如果我在复选框上设置一个值,比如说 1,我会看到无论复选框是否被选中,提交表单时我得到的值都是 1。

<input type="checkbox" value="1">

那么,查看复选框是否被选中的正确方法是使用 jQuery 中的 checked ?或者如何正确完成?

最佳答案

复选框值如果未选中则不应提交。

如果你想用 jQuery 检查,我总是使用:

var isChecked = $('#checkbox').prop('checked');

或者

var isChecked = $('#checkbox').is(':checked');

使用 JavaScript,您必须了解属性属性 之间的区别。 checked 既是属性又是属性。但是,当复选框的 checked property 更改时,checked attribute 并不总是更新(在某些浏览器中它是)。将属性视为由 DOM 解析的 HTML 标记中的值。 checked 属性 是 DOM 中复选框 元素 的实际成员,它始终根据复选框在用户界面。

如果你想尝试一种不需要 JavaScript 的万无一失的方法,你可以尝试“MVC”方式,通过渲染一个隐藏的输入和一个具有相同名称的复选框,每个复选框都有适当的“选中”状态值:

<input type="hidden" name="mybox" value="false" />
<input type="checkbox" name="mybox" value="true" />

当您提交表单时,如果您在请求中找不到值为“true”的 mybox 值,则该复选框未被选中。更多相关信息 here .

关于jquery - 知道复选框是否被选中的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13194175/

相关文章:

php - 创建网站游览

javascript - 前置 jQuery 数组

javascript - 我如何使用 jquery 为元素的阴影设置动画?

django - 使BooleanField在Django中显示更大的复选框

javascript - 如何在选中的 html CheckBox 上打开 jQuery 对话框(使用 jQuery)?

java - 使用 Apache FileItem 从复选框获取 boolean 值的优雅方法

jquery - 将 JQuery UI Accordion 用于移动菜单

jQuery 在 jsFiddle 中可以运行,但在我的电脑上不行

php - 如何使用复选框在 mySQL 中输入 true (1) 或 false (0) 并在 php/html 表单中显示为选中状态?

javascript - 使用选择器获取子元素?