0

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

到目前为止效果很好,但我遇到了复选框输入的问题。尽管没有被选中,但无论复选框是否被实际选中,它们的value属性总是会返回。$('input[name=checkbox_name]').val();

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

  • 添加默认值以外的值(即on
  • 添加一个checked属性,但我不完全确定哪些值是有效的,哪些不是;例如,使用 Google Chrome 的控制台,我添加了一个checked="checked"属性/值,它应该实时选中该框,但它没有
  • 根据http://bit.ly/MLxCht在复选框输入之前放置具有与name复选框相同属性的隐藏输入元素value=0

任何详细说明如何提取复选框的当前值(未选中/选中)的答案将不胜感激。

4

4 回答 4

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

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

于 2012-07-28T14:01:06.503 回答
0

尝试:

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

得到实际检查或不值

于 2012-07-28T14:01:56.253 回答
0

试试这个

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

或者

$(...).attr('checked')
于 2012-07-28T14:02:55.830 回答
0

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

$('input[name=your_name]:checked')
于 2012-07-28T14:07:51.213 回答