我试图清除表单中的所有复选框,然后在一个函数中提交表单,但表单似乎在复选框未选中之前提交。有没有办法通过回调来做到这一点,还是完全有另外一种方法可以解决这个问题?
该功能如下所示:
function clear_checkboxes() {
$(".addtomailer").attr('checked', false);
$('#addresses').submit();
return false;
}
使用表单按钮调用该函数,.addtomailer是所有复选框的类,而#addresses是表单ID。
(我确实发现了许多问题,询问如何做到这一点,但是所有的问题实际上都是在测试项目的加载时间,所以这个问题从未得到真正的回答)
更新:使用最新版本的jQuery。
答案 0 :(得分:0)
尝试使用.prop
代替.attr
$(".addtomailer").prop('checked', false);
通常,当“attribute”是布尔值时,请使用“prop”。 (选中,禁用,选中等)。 “attr”不会正确刷新元素的状态。
答案 1 :(得分:0)
您需要从每个复选框中删除checked
属性,并将其值设置为false。
$(".addtomailer").removeAttr('checked').val(false);