判断复选框是否被选中的正确方法

17 浏览
0 Comments

判断复选框是否被选中的正确方法

这个问题已经有了答案:

可能的重复问题:

使用jQuery检查复选框是否已选中

我有些困惑关于类型为复选框的输入如何工作。

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


所以,确认一个复选框是否被选中的正确方法是使用jQuery的checked属性吗?或者有其他正确的方法吗?

admin 更改状态以发布 2023年5月20日
0
0 Comments

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

'boxname.checked=="" 

,因为即使复选框没有被选中,该值始终存在。

0
0 Comments

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

如果您想使用jQuery检查,我始终会使用:

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

或者

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

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

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



当您提交表单时,如果找不到带有值为“true”的mybox值的请求,则复选框未选中。更多关于此的信息参见这里

0