如何通过JavaScript动态选中/取消选中html复选框

How to dynamically check/uncheck html checkbox by JavaScript

本文关键字:取消 html 复选框 何通过 动态 JavaScript      更新时间:2023-09-26

我知道已经提出了几个关于这个主题的问题,但我无法找到我的情况的答案。

我有一个已检查checkbox

<input type="checkbox" name="text" checked="checked" />

我需要通过检查/取消选中来发送 ajax 请求,但if statement我不知道

对于诸如
if (this.value == 'on')
{
this.value = 'off';
ajax call;
}
else
{
this.value ='on';
ajax call;
}

请注意,值在这里并不重要,我们需要捕获checked/unchecked,但是当 html 原始元素checked="checked"时如何通过JavaScript来控制检查的元素?

如果使用 checked 而不是 value

if (this.checked == true)
{
this.checked = false;
ajax call;
}
else
{
this.checked =true;
ajax call;
}

checkbox的勾号不会在浏览器中更改(始终勾选)。

以下方法应该有效:

function myFunction(elem)
{
    if (elem.checked)
    {
        alert("Im Checked");
    }
    else
    {
        alert("Im not checked");
    }
}

标记

<input type="checkbox" name="text" checked="checked" onchange="myFunction(this);" />

http://jsfiddle.net/QMhn5/

更新:要从其他元素更改检查:

document.getElementById("chk").checked = true;

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

例:http://jsfiddle.net/QMhn5/1/

如果你可以使用jquery,这应该可以工作:

<input type="checkbox" id="c1" />

$("#c1").change(function(){
    var checked = $(this).is(":checked");
    console.log(checked);
    //ajax call
})

小提琴:http://jsfiddle.net/XUgTC/,请尝试单击复选框并在控制台中查看。