复选框保留其虚假的attr

时间:2014-02-20 05:16:21

标签: javascript jquery html checkbox

我有一个弹出窗口,点击Save User我正在保存一个值并希望以更通用的方式重置一个表单,所以我尝试使用它并在重置{{1但是当谈到textbox, dropdown时我遇到了一些麻烦,我使用下面的代码来重置所有复选框:

checkbox

我也尝试过:

$('#' + form).find('input[type=checkbox]:checked').each(function () {
    this.checked = false;
});

如果我尝试重新添加新用户,上面这两个代码都会失败,在这种情况下,当我检查复选框时发现,即使在我检查了复选框之后,它们都处于错误状态并且在表单提交没有提取值。

但是当我使用时:

$('#' + form).find('input[type=checkbox]:checked').removeAttr("checked", false);

此代码成功运行,稍后会相应地选中重新提交的复选框值。

这对我来说似乎很奇怪,也可能对你而言,但这种情况正在发生,甚至我也不知道为什么。请帮帮我

注意当我提醒复选框的值时,第二次复选框显示$('input[name=storeList]').removeAttr('checked'); 值。

3 个答案:

答案 0 :(得分:0)

尝试这个

$('#' + form).find('input[type=checkbox]:checked').prop('checked', false);

答案 1 :(得分:0)

我的情况对我来说非常熟悉,因为我也经常在这些情况下陷入困境。为什么你不能在表格保存后清除表格。 像这样,     $( 'form_id')的形式( '清除');

如果可能的话,你可以把这个小提琴送给你。

答案 2 :(得分:0)

看起来像form.reset()

无法重置removeAttr()

您可以通过以下方式执行此操作:

1)

$(document).ready(function(){
    $('.check:button').toggle(function(){
        $('input:checkbox').attr('checked','checked');
        $(this).val('uncheck all');
    },function(){
        $('input:checkbox').removeAttr('checked');
        $(this).val('check all');        
    })
})

2)

$('input:checkbox').removeAttr('checked');

3)

$('input[type=checkbox]').each(function() 
{ 
        this.checked = false; 
}); 

4)

HTML

<input type="checkbox" name="all" id="checkall" />
JavaScript

$('#checkall:checkbox').change(function () {
   if($(this).attr("checked")) $('input:checkbox').attr('checked','checked');
   else $('input:checkbox').removeAttr('checked');
});​