2012-07-28 76 views
0

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

到目前为止,这工作得很好,但我遇到了复选框输入问题。尽管未检查,但他们的value属性总是从$('input[name=checkbox_name]').val();返回,尽管是否实际检查了该复选框。

我试图解决这个问题迄今:

  • 添加比默认的(这是on
  • 添加checked属性的值,但我不能完全肯定哪些值是有效的,哪些不是;例如,使用谷歌浏览器的控制台,我添加了一个checked="checked"属性/值,它应该实时检查框,但它不是
  • 将一个隐藏的输入元素与name属性放在同一个复选框之前作为与value=0相同的复选框输入按http://bit.ly/MLxCht

任何答案详细说明如何可以提取复选框的当前值(未检查/检查)将非常感激。

+0

http://stackoverflow.com/questions/4813219/jquery-checkbox-value – 2012-07-28 14:01:07

+0

如何延长VAL() http://stackoverflow.com/questions/6778646/can-you-extend-the-val-function-in-jquery – mplungjan 2012-07-28 14:38:46

回答

0

而不是别人所提出的建议,为什么不干脆:

+0

这将更像'.filter(':checked')'。 (好吧,就是这样。) – Ryan 2012-07-28 14:14:48

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

(您也可以使用​​为简洁,但它的速度较慢。)

0

尝试:

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

为了获得实际工作检查或不重视

0

试试这个

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

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