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

jv4diomz  于 2022-12-17  发布在  Java
关注(0)|答案(8)|浏览(131)

由于某种原因,我的表单不想得到复选框的值...我不确定这是否是我的编码,但当我尝试和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>

编辑

我试着把它改成这个

function exefunction() {
    alert(document.getElementById("lifecheck").checked);
}

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

ukxgm1gy

ukxgm1gy1#

var lfckv放在函数中,当执行这一行时,函数体还没有被解析,元素"lifecheck"也不存在,这样做非常好:

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

gcxthw6b2#

您试图在加载复选框之前读取其值。脚本在复选框存在之前运行。您需要在页面加载时调用脚本:
<body onload="dosomething()">
示例:
http://jsfiddle.net/jtbowden/6dx6A/
你在第一次作业后也少了一个分号。

taor4pac

taor4pac3#

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

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

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

});
eagi6jfj

eagi6jfj4#

每当浏览器找到定义lfckv的行时,它就会运行。当您将它放入文档的头部时,浏览器会尝试在创建lifecheck元素之前找到lifecheck id。您必须在lifecheck输入下面添加脚本,以便代码能够工作。

dffbzjpn

dffbzjpn5#

尝试学习jQuery这是一个很好的开始javascript的地方,它真的简化了你的代码,并且帮助你从html中分离js。包括来自google的CDN的js文件(https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js)
然后在脚本标记(仍在<head>中)中用途:

$(function() {//code inside this function will run when the document is ready
    alert($('#lifecheck').is(':checked'));

    $('#lifecheck').change(function() {//do something when the user clicks the box
        alert(this.checked);
    });
});

字符串

yzckvree

yzckvree6#

您可以尝试以下操作以确定是否选中复选框。

$('#checkbox_id').is(":checked"); // jQuery

document.getElementById("checkbox_id").checked //JavaScript

字符串
如果选中复选框,则返回true

w41d8nur

w41d8nur7#

<!DOCTYPE html>
<html>
<body>
    <input type="checkbox" id="isSelected"/>
    <div id="myDiv" style="display:none">Is Checked</div>
</body>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script>
        $('#isSelected').click(function() {
            $("#myDiv").toggle(this.checked);
        });
    </script>
</html>
vvppvyoh

vvppvyoh8#

当复选框被选中时,以下将返回true,否则返回false。

$(this).is(":checked")

将$(this)替换为要检查的变量。
并用于一种情况:

if ($(this).is(":checked")) {
  // do something
}

相关问题