如何使用JavaScript检查/不检查复选框?


当前回答

未被提及的重要行为:

以编程方式设置选中属性,不会触发复选框的更改事件。

你自己看看这把小提琴: http://jsfiddle.net/fjaeger/L9z9t04p/4/

(小提琴测试在Chrome 46, Firefox 41和IE 11)

click()方法

有一天,您可能会发现自己正在编写依赖于触发事件的代码。为了确保事件触发,调用checkbox元素的click()方法,如下所示:

document.getElementById('checkbox').click();

但是,这将切换复选框的选中状态,而不是专门将其设置为true或false。请记住,change事件只应该在选中的属性实际发生更改时触发。

它也适用于jQuery的方式:使用prop或attr设置属性,不触发更改事件。

设置检查到特定的值

您可以在调用click()方法之前测试选中的属性。例子:

function toggle(checked) {
  var elm = document.getElementById('checkbox');
  if (checked != elm.checked) {
    elm.click();
  }
}

点击这里阅读更多关于点击方法的信息: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click

其他回答

我想指出的是,将'checked'属性设置为非空字符串会导致选中框。

因此,如果您将'checked'属性设置为"false",则复选框将被选中。我必须将值设置为空字符串,null或布尔值false,以确保复选框不被选中。

Javascript:

// Check
document.getElementById("checkbox").checked = true;

// Uncheck
document.getElementById("checkbox").checked = false;

jQuery 1.6 (+):

// Check
$("#checkbox").prop("checked", true);

// Uncheck
$("#checkbox").prop("checked", false);

jQuery (1.5 -):

// Check
$("#checkbox").attr("checked", true);

// Uncheck
$("#checkbox").attr("checked", false);

对于单个检查,请尝试

myCheckBox.checked = 1 <input type="checkbox" id="myCheckBox">给她打电话

对于多重尝试

document.querySelectorAll(“.imChecked”)。forEach (c = > c.checked = 1) 买酒:<input type="checkbox" class="imChecked"><br> 播放流畅的爵士音乐:<input type="checkbox"><br> 剃须:<input type="checkbox" class="imChecked"><br>

我同意目前的答案,但在我的情况下,它不起作用,我希望这段代码在未来能帮助到某人:

// check
$('#checkbox_id').click()

未被提及的重要行为:

以编程方式设置选中属性,不会触发复选框的更改事件。

你自己看看这把小提琴: http://jsfiddle.net/fjaeger/L9z9t04p/4/

(小提琴测试在Chrome 46, Firefox 41和IE 11)

click()方法

有一天,您可能会发现自己正在编写依赖于触发事件的代码。为了确保事件触发,调用checkbox元素的click()方法,如下所示:

document.getElementById('checkbox').click();

但是,这将切换复选框的选中状态,而不是专门将其设置为true或false。请记住,change事件只应该在选中的属性实际发生更改时触发。

它也适用于jQuery的方式:使用prop或attr设置属性,不触发更改事件。

设置检查到特定的值

您可以在调用click()方法之前测试选中的属性。例子:

function toggle(checked) {
  var elm = document.getElementById('checkbox');
  if (checked != elm.checked) {
    elm.click();
  }
}

点击这里阅读更多关于点击方法的信息: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click