使用JavaScript检查/取消选中checkbox?
如何使用JavaScript或jQuery检查/取消选中checkbox?
使用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);
尚未提及的重要行为:
以编程方式设置选中的属性,不会触发checkbox的change
事件 。
在这个小提琴里看看你自己:
http://jsfiddle.net/fjaeger/L9z9t04p/4/
(在Chrome 46,Firefox 41和IE 11中进行了小提琴testing)
click()
方法
有一天,你可能会发现自己正在编写代码,依赖于被解雇的事件。 为了确保事件触发,调用checkbox元素的click()
方法,如下所示:
document.getElementById('checkbox').click();
但是,这会切换checkbox的选中状态,而不是专门将其设置为true
或false
。 请记住,只有当checked属性实际发生更改时,才会触发change
事件。
它也适用于jQuery方式:使用prop
或attr
设置属性,不会触发change
事件。
checked
设置为一个特定的值
在调用click()
方法之前,您可以testingchecked
属性。 例:
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
去检查:
document.getElementById("id of checkbox").checked = true;
取消选中:
document.getElementById("id of checkbox").checked = false;
我们可以检查一个微粒checkbox,
$('id of the checkbox')[0].checked = true
并取消选中,
$('id of the checkbox')[0].checked = false
我想要注意的是,将“checked”属性设置为非空string会导致一个checkbox。
所以如果你把“checked”属性设置为“false” ,checkbox将被选中。 我必须将值设置为空stringnull或布尔值false以确保checkbox未被选中。
<script type="text/javascript"> $(document).ready(function () { $('.selecctall').click(function (event) { if (this.checked) { $('.checkbox1').each(function () { this.checked = true; }); } else { $('.checkbox1').each(function () { this.checked = false; }); } }); }); </script>
尝试这个:
//Check document.getElementById('checkbox').setAttribute('checked', 'checked'); //UnCheck document.getElementById('chk').removeAttribute('checked');
function setCheckboxValue(checkbox,value) { if (checkbox.checked!=value) checkbox.click(); }