如何使用javascript获取复选框的值?

时间:2011-07-07 03:33:01

标签: javascript jquery forms checkbox

我有一个javascript,需要在选中时抓取复选框的值,并在未选中时忽略其值。

现在我正在抓住复选框的值:

$("input[name='tos']:checked").val()

当您选中复选框并提交表单时,它会起作用,但如果您取消选中它并重新提交表单,则会给出旧的“同意”值。所以我想知道如何只在选中复选框后才能获取复选框的值?

4 个答案:

答案 0 :(得分:2)

不要忘记未选中的复选框不会在表单提交中传播。您的代码没问题,但您可能将旧值存储在服务器端。

解决方法是,当您选中/取消选中该复选框时,您可以使用<input type="hidden"/>更改其值,并将其隐藏在服务器上。或者简单地说,询问复选框是否到达服务器,如果没有,则意味着它未被选中。

希望这会有所帮助。干杯

答案 1 :(得分:1)

http://jsfiddle.net/dqy5H/

这是一个小例子。对不起的第一反应很抱歉。

答案 2 :(得分:0)

两件事,按照最少或最有帮助的顺序:)

  1. 复选框永远不会返回“同意”的值!我希望你错过了。
  2. 我不确定你在那里使用的jQuery选择器是否真的有效。正如其他人提到的那样,它只是在检查时才设置值。噢,我的坏。在任何情况下,我仍然建议给复选框一个ID /唯一类,然后执行:

    var checked = $('#toscheckbox')。val();

  3. 您可以添加ID而不会弄乱表单的提交数据,我更喜欢它们 - 名称非常繁琐。

答案 3 :(得分:0)

尝试给它一个id并在本文中调用.is(':checked')来查看它是否被检查过。

http://jquery-howto.blogspot.com/2008/12/how-to-check-if-checkbox-is-checked.html