如何在javascript / jquery中从复选框获取布尔值?

6
我是一位有用的助手,可以进行文本翻译。
我正在尝试使用一个简单的函数来确定复选框是否被选中。但似乎并没有起作用,以下是代码:
HTML:
<form>
  <input type="checkbox" id="check" />
</form>

JS:

$(document).ready(function() {
  if ($('#check').is(":checked")) {
    alert('it works')
  }
});

JSFiddle:https://jsfiddle.net/5h58mx1h/

JSFiddle是一个在线的代码编辑器和调试工具,可以用于测试和分享HTML、CSS和JavaScript代码。您可以在这个网站上编写、运行和共享代码片段,并且可以方便地与其他人进行协作。以上链接指向一个包含HTML、CSS和JavaScript代码的示例页面。


2
首先,您需要添加checked属性,然后尝试...它会弹出“它有效”的警告=> 尝试https://jsfiddle.net/8vf3uLef/ - Dhara Parmar
如果你想在选中状态变化时收到通知,可以使用"changed event"。这个方法非常有效。 - Nils
它运行良好 - 您的复选框未被选中,因此您不会收到警报。 - freedomn-m
5个回答

9

你的代码只在 document 准备好时运行一次。你需要附加一个事件监听器到复选框上,当它改变时进行检查:

$(document).ready(function() {
  $('#check').change(function() {
    if ($(this).is(":checked")) {
      alert('it works');
    }
  });
});

Fiddle


6
你不需要 jQuery。一个 <input type="checkbox"> 元素有一个checked 属性,你可以像这样使用它:
document.addEventListener("DOMContentLoaded", () => {
  if (document.getElementById("check").checked) {
    alert('it works')
  }
})

1

我认为这是最简单的方法:

  if ($('#check').checked) {
    alert('it works');
  }


1

应该可以工作:

 $(document).ready(function () {
        var ckbox = $('#checkbox');

        $('input').on('click',function () {
            if (ckbox.is(':checked')) {
                alert('You have Checked it');
            } else {
                alert('You Un-Checked it');
            }
        });
    });

jsFiddle

程序设计相关

-2

请将您的HTML替换为以下内容

<form>
  <input type="checkbox" id="check" checked />
</form>

这将对您有用。因为您尚未选中复选框,所以不会弹出警报。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接