首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使未选中的复选框值为0,而选中的值为1?

如何使未选中的复选框值为0,而选中的值为1?
EN

Stack Overflow用户
提问于 2021-04-10 23:59:16
回答 3查看 118关注 0票数 0

我正在制作一个简单的注册表单,其中包含一个声明,询问用户是否阅读了条款和条件,但是当我在控制台上记录复选框的值时,它不会改变,这取决于它是否被选中。我该怎么做呢?我见过其他人问这个问题,但他们使用的是像jQuery这样的JS库,而我没有使用这些库,那么您如何仅使用基本的JS和超文本标记语言来区分选中和未选中的值

代码语言:javascript
复制
<div class="item">
          <input type="checkbox" id="checkbox" value="1">
          <label>I accept the <a id="termsLink" href="https://imgur.com/5lXi3Lc" target="_blank">Terms and Conditions</a></label>
        </div>

这是包含复选框的div。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-04-11 00:05:54

您可以添加一个事件处理程序onClick来实现此目的:

代码语言:javascript
复制
function handleClick(cb) {
  cb.value = cb.checked ? 1 : 0;
  console.log(cb.value);
}
代码语言:javascript
复制
<div class="item">
          <input type="checkbox" id="checkbox" value="1" onclick='handleClick(this);'>
          <label>I accept the <a id="termsLink" href="https://imgur.com/5lXi3Lc" target="_blank">Terms and Conditions</a></label>
        </div>

票数 1
EN

Stack Overflow用户

发布于 2021-04-11 00:08:15

您可以使用.checked方法:

代码语言:javascript
复制
var checkBox = document.getElementById("checkbox");
if(checkbox.checked){
      console.log("checked");
}
else{
     console.log("unchecked");
}
票数 1
EN

Stack Overflow用户

发布于 2021-04-11 00:08:22

您需要测试.checked属性。要将其转换为整数,可以使用按位OR运算符。

代码语言:javascript
复制
document.getElementById('checkbox').addEventListener('change', function(e){
  let checked = this.checked;
  console.log(checked);
  console.log(checked | 0);
});
代码语言:javascript
复制
<div class="item">
  <input type="checkbox" id="checkbox">
  <label>I accept the <a id="termsLink" href="https://imgur.com/5lXi3Lc" target="_blank">Terms and Conditions</a></label>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67036413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档