簡體   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