[英]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/
在第一次分配后,您也錯過了分號。
你可以使用這段代碼,它可以返回true
或false
:
$(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.