正确的方式知道是否选中了复选框

可能重复:
检查复选框是否使用jQuery进行检查

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

如果我在复选框中设置了一个值,比如说1,我会发现不管复选框是否被选中,我在提交表单时得到的值都是1。

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

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


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

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

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

要么

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

使用JavaScript,您必须了解属性和属性之间的差异。 checked既是属性又是属性。 但是,当复选框的checked属性更改时(在某些浏览器中), checked属性并不总是被更新。 将该属性看作DOM解析的HTML标记中的值。 checked属性是DOM中复选框元素的实际成员,它总是根据在UI中是选中还是未选中来进行更改。

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

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

当您提交表单时,如果您在请求中找不到值为“true”的mybox值,那么复选框未被选中。 更多关于这里。


为了检查复选框是否被实际检查过,您必须使用

'boxname.checked=="" 

因为即使未选中该框,该值也会始终存在。


$('input[type=checkbox]').is(':checked')

如果选中,则返回true否则返回false

在回答你对这个问题的评论时,当你需要检查状态时,这个值没有太大的收获。

链接地址: http://www.djcxy.com/p/55979.html

上一篇: Correct way of knowing if a checkbox is checked

下一篇: Check if a radio button is checked jquery