繁体   English   中英

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

[英]How do I determine if a checkbox is checked?

出于某种原因,我的表单不想获取复选框的值......我不确定它是否是我的编码,但是当我尝试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 出了什么问题?

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> 

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

<body onload="dosomething()">

例:

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

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

你可以使用这段代码,它可以返回truefalse

 $(document).ready(function(){ //add selector of your checkbox var status=$('#IdSelector')[0].checked; console.log(status); }); 

只要浏览器找到,就会运行定义lfckv的行。 当您将其放入文档的头部时,浏览器会在创建lifecheck元素之前尝试查找lifecheck id。 您必须在lifecheck输入下面添加脚本才能使代码正常工作。

 <!doctype html> <html lang="en"> <head> </head> <body> <label><input class="lifecheck" id="lifecheck" type="checkbox" checked >Lives</label> <script type="application/javascript" > lfckv = document.getElementsByClassName("lifecheck"); if (true === lfckv[0].checked) { alert('the checkbox is checked'); } </script> </body> </html> 

因此,您可以在javascript中添加事件,以使动态事件受到复选框的影响。

谢谢

尝试学习jQuery这是一个开始使用javascript的好地方,它真正简化了你的代码并帮助你将你的js与你的html分开。 包含谷歌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);
    });
});

您可以尝试以下方法来确定复选框是否被选中。

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

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

如果选中复选框,则返回true

 var elementCheckBox = document.getElementById("IdOfCheckBox"); elementCheckBox[0].checked //return true if checked and false if not checked 

谢谢

选中复选框后,将返回true,否则返回false。

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

将$(this)替换为您要检查的变量。

并用于以下条件:

if ($(this).is(":checked")) {
  // do something
}
<!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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM