如何取消选中纯JavaScript中的复选框?

时间:2013-09-18 00:48:16

标签: javascript html checkbox

以下是HTML代码:

<div class="text">
   <input value="true" type="checkbox" checked="" name="copyNewAddrToBilling"><label>

我想将值更改为false。或者只需取消选中该复选框即可。我想在纯JavaScript中执行此操作,而不使用外部库(没有jQuery等)

5 个答案:

答案 0 :(得分:62)

<html>
    <body>
        <input id="check1" type="checkbox" checked="" name="copyNewAddrToBilling">
    </body>
    <script language="javascript">
        document.getElementById("check1").checked = true;
        document.getElementById("check1").checked = false;
    </script>
</html>

我已经将语言属性添加到了脚本元素中,但这是不必要的,因为所有浏览器都将此作为默认值使用,但毫无疑问,这个示例显示了什么。

如果你想使用javascript访问元素,它有一组非常有限的GetElement *函数。因此,您需要养成为每个元素赋予UNIQUE id属性的习惯。

答案 1 :(得分:9)

推荐,没有jQuery

为您的<input>提供ID并参考。另外,如果您希望复选框开始未选中,请移除checked=""标记的<input>部分。那就是:

document.getElementById("my-checkbox").checked = true;

纯JavaScript,没有元素ID(#1)

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

for(var i = 0; i<inputs.length; i++){

  if(typeof inputs[i].getAttribute === 'function' && inputs[i].getAttribute('name') === 'copyNewAddrToBilling'){

    inputs[i].checked = true;

    break;

  }
}

纯Javascript,没有元素ID(#2)

document.querySelectorAll('.text input[name="copyNewAddrToBilling"]')[0].checked = true;

document.querySelector('.text input[name="copyNewAddrToBilling"]').checked = true;

请注意,这些浏览器支持querySelectorAllquerySelector方法:IE8 +,Chrome 4 +,Safari 3.1 +,Firefox 3.5+以及所有移动浏览器。

如果元素可能缺失,则应测试其存在,例如:

var input = document.querySelector('.text input[name="copyNewAddrToBilling"]');
if (!input) { return; }

使用jQuery

$('.text input[name="copyNewAddrToBilling"]').prop('checked', true);

答案 2 :(得分:5)

还有另一种方法可以做到这一点:

//elem - get the checkbox element and then
elem.setAttribute('checked', 'checked'); //check
elem.removeAttribute('checked'); //uncheck

答案 3 :(得分:0)

您需要为复选框指定一个ID:

<input id="checkboxId" type="checkbox" checked="" name="copyNewAddrToBilling">

然后在JavaScript中:

document.getElementById("checkboxId").checked = false;

答案 4 :(得分:-1)

<html>
    <body>
        <input id="mycheck" type="checkbox">
    </body>

    <script language="javascript">
        var=check;
        document.getElementById("mycheck");
        check.checked="false";
    </script>
</html>