2017-04-04 75 views
0

什么是连续检查复选框是否被选中的好方法。JavaScript不断检查复选框是否被选中

这检查是否被检查。

我想创建一个区间,但我不喜欢那个。

if(checkboxPencil.checked) 
+6

使用事件处理程序。绑定'更改'事件。 – Tushar

+2

为什么连续检查它,当它发生变化时可以得到一个事件? –

回答

2

你基本上有两种选择:

  1. 使用的change事件的事件处理程序

  2. 使用setInterval或类似

  3. 投票

在这两者中,#1是迄今为止最好的选择,除非你有一个非常好的理由不使用该事件。

这里是#1的例子:

// The selector can be any valid CSS selector identifying the checkbox 
 
document.querySelector("input[type=checkbox]").addEventListener("change", function() { 
 
    console.log("New value is: " + this.checked); 
 
}, false);
<label> 
 
    <input type="checkbox"> 
 
    Checkbox 
 
</label>

+0

使用'document.querySelector(“input [type = checkbox]”)。'比类似'document.getElementById()' – Micheasl

+0

@Micheasl更好:它们都不是更好,它纯粹是如何识别元素的。如果元素有一个ID,那么使用'getElementById'。但是,让所有的元素ID都会很快变得混乱。 'querySelector'和'querySelectorAll'更加灵活,让您使用任何有效的CSS选择器来查找元素。 –

0

看看所有现代浏览器支持的onchange Event


无论您希望如果复选框被选中,您可以从onchange事件处理程序中执行任何功能。例如:

function changeStatus(o) { 
 
    document.getElementById('status').innerText = o.checked; 
 
}
<input id="check" type="checkbox" onchange="changeStatus(this)" /> 
 
<span id="status">false</span>

相关问题