我有一个javascript,需要在选中时抓取复选框的值,并在未选中时忽略其值。
现在我正在抓住复选框的值:
$("input[name='tos']:checked").val()
当您选中复选框并提交表单时,它会起作用,但如果您取消选中它并重新提交表单,则会给出旧的“同意”值。所以我想知道如何只在选中复选框后才能获取复选框的值?
答案 0 :(得分:2)
不要忘记未选中的复选框不会在表单提交中传播。您的代码没问题,但您可能将旧值存储在服务器端。
解决方法是,当您选中/取消选中该复选框时,您可以使用<input type="hidden"/>
更改其值,并将其隐藏在服务器上。或者简单地说,询问复选框是否到达服务器,如果没有,则意味着它未被选中。
希望这会有所帮助。干杯
答案 1 :(得分:1)
这是一个小例子。对不起的第一反应很抱歉。
答案 2 :(得分:0)
两件事,按照最少或最有帮助的顺序:)
我不确定你在那里使用的jQuery选择器是否真的有效。正如其他人提到的那样,它只是在检查时才设置值。噢,我的坏。在任何情况下,我仍然建议给复选框一个ID /唯一类,然后执行:
var checked = $('#toscheckbox')。val();
您可以添加ID而不会弄乱表单的提交数据,我更喜欢它们 - 名称非常繁琐。
答案 3 :(得分:0)
尝试给它一个id并在本文中调用.is(':checked')来查看它是否被检查过。
http://jquery-howto.blogspot.com/2008/12/how-to-check-if-checkbox-is-checked.html