javascript - 以 this 作为参数的复选框开关不会保存更改 .checked 值

标签 javascript

基本上正如标题所说 - 我正在尝试使用一个作为 onclick 固定到该复选框的函数来切换复选框的 checked 值,并接受此

<input type="checkbox" onclick="toggleCheckbox(this)" />

<script>
  function toggleCheckbox(e)
  {
    e.checked = !e.checked;
  }
</script>

但是为什么新值不是前一个值的否定呢?它总是 T/F/T/F 但它应该是 T/F/F/T/T/F/F 作为控制台输出

<input type="checkbox" onclick="toggleCheckbox(this)" />

<script>
  function toggleCheckbox(e)
  {
    console.log(e.checked)
    e.checked = !e.checked;
    console.log(e.checked)
  }
</script>

最佳答案

您不需要设置任何内容,因为默认情况下 html 将负责检查。如果您想要任何其他逻辑,例如 ajax、过滤,您可以使用 e.checked 并用它做您想做的事情。

<input type="checkbox" id="checkbox" onclick="toggleCheckbox(this)" />

<script>
  function toggleCheckbox(e)
  {
    console.log(e.checked)
  }
</script>

关于javascript - 以 this 作为参数的复选框开关不会保存更改 .checked 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54990408/

相关文章:

javascript - 如何通过 Props 提取路由参数

javascript - 索引数据库 "The operation failed because the requested database object could not be found. "

Javascript 将函数绑定(bind)到对象

javascript - 在空格和引号上拆分字符串,保持带引号的子字符串完整

javascript - 在 Axios OPTIONS 响应中处理状态(例如 503)

javascript - 为什么我会收到 Uncaught SyntaxError : Unexpected token ILLEGAL

javascript - 如何让循环动画停止和恢复?

javascript - 计算发送 Ajax 请求和接收应答之间的时间

javascript - 如何在不同操作系统上使用源映射文件

javascript - 如何在动态对象内的数组中添加/删除