attr后回调

时间:2012-09-08 22:23:47

标签: jquery forms callback

我试图清除表单中的所有复选框,然后在一个函数中提交表单,但表单似乎在复选框未选中之前提交。有没有办法通过回调来做到这一点,还是完全有另外一种方法可以解决这个问题?

该功能如下所示:

function clear_checkboxes() {
    $(".addtomailer").attr('checked', false);
    $('#addresses').submit();
    return false;
}

使用表单按钮调用该函数,.addtomailer是所有复选框的类,而#addresses是表单ID。

(我确实发现了许多问题,询问如何做到这一点,但是所有的问题实际上都是在测试项目的加载时间,所以这个问题从未得到真正的回答)

更新:使用最新版本的jQuery。

2 个答案:

答案 0 :(得分:0)

尝试使用.prop代替.attr

$(".addtomailer").prop('checked', false);

通常,当“attribute”是布尔值时,请使用“prop”。 (选中,禁用,选中等)。 “attr”不会正确刷新元素的状态。

http://api.jquery.com/prop/

答案 1 :(得分:0)

您需要从每个复选框中删除checked属性,并将其值设置为false。

    $(".addtomailer").removeAttr('checked').val(false);