【问题标题】:Checkbox is Always being checked复选框总是被选中
【发布时间】:2021-08-15 00:49:34
【问题描述】:

我有一个复选框

    <input type="checkbox" name="Vebasto" class="checkbox" value="350" id="Vebasto" />
    <label for="Vebasto">Vebasto</label>

以及检查是否检查过的脚本:

  if(document.querySelector('input#cond').checked = true){
    alert("checked");
    }

当页面加载时,我收到此警报,但未选中复选框。怎么了?

【问题讨论】:

  • 除了其他答案中提到的 assignment 运算符的错误之外,input#cond 似乎不会针对有问题的复选框? (为什么不在这种情况下使用getElementById()?)

标签: javascript html debugging input checkbox


【解决方案1】:

请在 if 语句中使用 ===:

  if(document.querySelector('input#cond').checked === true){
    alert("checked");
    }

【讨论】:

    【解决方案2】:

    在 Javascript 中,= 运算符用于属性值。因此,您实际上将复选框值设置为 True。 比较你应该使用==或者更好的===

    if(document.querySelector('input#cond').checked === true){
      alert("checked");
    }
    

    【讨论】:

      【解决方案3】:

      当你想用 if() 测试某些东西时,你不使用 =.,你使用 ==。 当它的Javascript你最好使用===

      你的代码应该是。

      if(document.querySelector('input#cond').checked === true){
      alert("checked");
      }
      

      但我测试布尔值的方法很简单

      if(document.querySelector('input#cond').checked) {
      alert("checked");
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-17
        • 2017-01-10
        • 1970-01-01
        • 2015-12-28
        • 2017-06-07
        • 2012-06-08
        相关资源
        最近更新 更多