<分区>
Possible Duplicate:
Check if checkbox is checked with jQuery
我对输入类型复选框的工作方式有点困惑。
如果我在复选框上设置一个值,比如说 1,我会看到无论复选框是否被选中,提交表单时我得到的值都是 1。
<input type="checkbox" value="1">
那么,查看复选框是否被选中的正确方法是使用 jQuery 中的 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/
相关文章:
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 表单中显示为选中状态?