如何确定是否选中了复选框?

Sea*_*ean 59 html javascript checkbox

由于某种原因,我的表单不想获得复选框的值...我不确定它是否是我的编码,但是当我尝试和alert()值时,我得到undefined了结果.我有什么不对?

<head>
  <script>
    var lfckv = document.getElementById("lifecheck").checked
    function exefunction(){
      alert(lfckv);
    }
  </script>
</head>
<body>
  <label><input id="lifecheck" type="checkbox" >Lives</label>
</body>
Run Code Online (Sandbox Code Playgroud)

编辑

我尝试将其更改为此

function exefunction() {
    alert(document.getElementById("lifecheck").checked);
}
Run Code Online (Sandbox Code Playgroud)

但现在它甚至都不想execute.出了什么问题?

Eli*_*ing 102

放置var lfckv功能内部.执行该行时,尚未解析正文,并且该元素"lifecheck"不存在.这非常好用:

function exefunction() {
  var lfckv = document.getElementById("lifecheck").checked;
  alert(lfckv);
}
Run Code Online (Sandbox Code Playgroud)
<label><input id="lifecheck" type="checkbox" >Lives</label>
<button onclick="exefunction()">Check value</button>
Run Code Online (Sandbox Code Playgroud)


Jef*_*f B 6

您正在尝试在加载之前读取复选框的值.该脚本在复选框存在之前运行.您需要在页面加载时调用脚本:

<body onload="dosomething()">

例:

http://jsfiddle.net/jtbowden/6dx6A/

在第一次分配后,您也错过了分号.


小智 6

您可以使用此代码,它可以返回truefalse

$(document).ready(function(){
  
  //add selector of your checkbox

  var status=$('#IdSelector')[0].checked;
  
  console.log(status);

});
Run Code Online (Sandbox Code Playgroud)

  • 我没有看到 jQuery 标签,是吗? (3认同)