如何在默认情况下取消选中此复选框

Vel*_*Vel 24 html checkbox

我在表单中有2个复选框,这两个复选框都包含在一个表单中form.

其中一个form我添加了属性autocomplete="off".
以下是代码段

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body>
        <form name="chkBoxForm" >
            <div>
                <input type="checkbox" value="100" name="product"/>My Checkbox1
            </div>
        </form>
        <form name="chkBoxForm" autocomplete="off">
            <div>
                <input type="checkbox" value="200" name="product"/>My Checkbox2                         
            </div>
        </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,如果我们手动检查这些复选框,如果我们按下F5,那么带有属性的复选框就会autocomplete="off"被取消选中.但是仍然检查没有该属性的复选框.这发生在FireFox 22中.

此行为因浏览器而异.
在IE中,两个复选框都保持选中状态,而在Chrome中,两个复选框都未选中.

但是当我在地址栏中按Enter键时,它会在所有浏览器中取消选中.

当有人按下时,有人可以告诉我如何取消选中这些复选框F5吗?
我知道这可以通过Javascript来处理.

有没有其他HTML方式处理这个?

Dav*_*iña 18

不,简单的HTML没有办法.Javascript可能是您目前唯一的解决方案..

循环遍历javascript中的所有复选框并将其设置为取消选中:

var checkboxes = document.getElementsByTagName('input');

for (var i=0; i<checkboxes.length; i++)  {
  if (checkboxes[i].type == 'checkbox')   {
    checkboxes[i].checked = false;
  }
}
Run Code Online (Sandbox Code Playgroud)

将它包装在一个onload监听器中,你应该没问题:)


小智 10

jQuery的

$('input[type=checkbox]').removeAttr('checked');
Run Code Online (Sandbox Code Playgroud)

要么

<!-- checked -->
<input type='checkbox' name='foo' value='bar' checked=''/> 

<!-- unchecked -->
<input type='checkbox' class='inputUncheck' name='foo' value='bar' checked=''/> 
<input type='checkbox' class='inputUncheck' name='foo' value='bar'/> 
Run Code Online (Sandbox Code Playgroud)

+

$('input.inputUncheck').removeAttr('checked');
Run Code Online (Sandbox Code Playgroud)

  • 从jquery 1.6开始,这应该是`.prop('checked',false)`. (3认同)

Ilk*_*aci 5

如果您有一个ID为checkbox_id的复选框,则可以通过JS使用prop('checked', false)或设置其状态prop('checked', true)

 $('#checkbox_id').prop('checked', false);
Run Code Online (Sandbox Code Playgroud)

  • **来自审核队列**:我可以要求您在回答中添加更多内容。仅代码的答案很难理解。如果您可以在帖子中添加更多信息,它将对提问者和将来的读者都有帮助。 (2认同)