使用Javascript提取复选框的值?

时间:2012-07-28 13:58:44

标签: javascript jquery html forms checkbox

我正在构建一个包含大量复选框的动态表单。由于表单的复杂性,正常的表单提交是不合适的,并且由于表单一次对多个用户有效,我正在做的是在序列化之前提取表单值并将它们存储在JavaScript对象中它们作为要在服务器端发送和处理的批量数据。

到目前为止,这已经很好用,但我遇到了一个复选框输入问题。尽管未经过检查,但无论是否实际检查了复选框,它们的value属性始终都会从$('input[name=checkbox_name]').val();返回。

到目前为止,我已尝试通过以下方式解决此问题:

  • 添加默认值以外的值(on
  • 添加checked属性,但我不完全确定哪些值有效,哪些值无效;例如,使用谷歌Chrome控制台我添加了checked="checked"属性/值,应该实时检查该框,但它没有
  • 根据http://bit.ly/MLxCht
  • 复选框输入前面的name复选框,将value=0属性设置为隐藏的输入元素

任何详细说明如何提取复选框的当前值(未选中/已选中)的答案都将非常感谢。

4 个答案:

答案 0 :(得分:0)

$('input[name=checkbox_name]').prop('checked')

(您也可以使用.is(':checked')来简洁,但速度较慢。)

答案 1 :(得分:0)

尝试:

$('input[name=your_name]').is(':checked');

获取实际已检查或未获得值

答案 2 :(得分:0)

试试这个

$(...).is(":checked")

$(...).attr('checked')

答案 3 :(得分:0)

而不是其他人的建议,为什么不呢:

$('input[name=your_name]:checked')