如何检查复选框是否被选中

How can I check if a checkbox is checked?

本文关键字:是否 复选框 何检查 检查      更新时间:2023-09-26

我正在使用jQuery Mobile构建一个移动Web应用程序,我想检查是否选中了复选框。这是我的代码。

<script type=text/javascript>
  function validate(){
    if (remember.checked == 1){
      alert("checked") ;
    } else {
      alert("You didn't check it! Let me check it for you.")
    }
  }
</script>
<input id="remember" name="remember" type="checkbox" onclick="validate()" />

但是由于某种原因,它不会执行它。

请帮忙!

----编辑-----这就是我目前所拥有的。

<DIV data-role="content" data-theme="g">
    <DIV class=ui-grid-g-login>
        <FORM method=post action=[$=PROBE(266)/] data-theme="C">
            <P>~DATA_ERROR~</P>
            <div id="mail" data-role="fieldcontain">
                <label for="mail">Email:*</label>       
                <input id="mail" name="mail" type="email" />
            </div>
            <div id="pass" data-role="fieldcontain">
                <label for="pass">Paswoord:*</label>        
                <input id="pass" name="pass" type="password" />
            </div>
            <div id="remember" data-role="fieldcontain">
                <label for="remember">Onthoud mij</label>       
                <input id="remember" name="remember" type="checkbox" onclick="validate()" />
            </div>
            <P><INPUT class=btn name=submit value=Login type=submit  onclick="validate()"></P>  
        </FORM>
    </DIV>
</DIV><!-- /content -->
<script type=text/javascript>
function validate(){
    var remember = document.getElementById('remember');
    if (remember.checked){
        alert("checked") ;
    }else{
        alert("You didn't check it! Let me check it for you.")
    }
}
</script>

----编辑--

解决了,问题是字段包含也被命名为"记住">

checked是一个boolean属性,因此您可以在if条件下直接使用它

<script type="text/javascript">
    function validate() {
        if (document.getElementById('remember').checked) {
            alert("checked");
        } else {
            alert("You didn't check it! Let me check it for you.");
        }
    }
</script>

试试这个:

function validate() {
  var remember = document.getElementById("remember");
  if (remember.checked) {
    alert("checked");
  } else {
    alert("You didn't check it! Let me check it for you.");
  }
}

您的脚本不知道变量remember是什么。您需要首先使用 getElementById(( 获取元素。

//HTML
<input type="checkbox" id="someID">
// JavaScript
const someCheckbox = document.getElementById('someID');
someCheckbox.addEventListener('change', e => {
  if(e.target.checked === true) {
    console.log("Checkbox is checked - boolean value: ", e.target.checked)
  }
if(e.target.checked === false) {
    console.log("Checkbox is not checked - boolean value: ", e.target.checked)
  }
});

了解更多

这样用

<script type=text/javascript>
    function validate(){
        if (document.getElementById('remember').checked){
            alert("checked") ;
        } else {
            alert("You didn't check it! Let me check it for you.")
        }
    }
</script>
<input id="remember" name="remember" type="checkbox" onclick="validate()" />

这应该允许您确定是否'checked'具有id='remember'的元素:

if (document.getElementById('remember').is(':checked'))

如果您将此表单用于移动应用程序,则可以使用必需的属性html5。您不想为此使用任何 Java 脚本验证。它应该工作

<input id="remember" name="remember" type="checkbox" required="required" />

使用以下简单代码:https://jsfiddle.net/Divyesh_Patel/v7a4h3kr/7/

<input type="checkbox" id="check">
<a href="#" onclick="check()">click</a>
<button onclick="check()">button</button>
<script>
  function check() {
    if (document.getElementById('check').checked) {
      alert("checked");
    } else {
      alert("Not checked.");
    }
  }
</script>

if (document.getElementById('remember').checked) {
    alert("checked");
}
else {
    alert("You didn't check it! Let me check it for you.");
}

这应该有效

function validate() {
    if ($('#remeber').is(':checked')) {
        alert("checked");
    } else {
        alert("You didn't check it! Let me check it for you.");
    }
}

我正在使用这个,它适用于Jquery

Jquery:

var checkbox = $('[name="remember"]');
if (checkbox.is(':checked'))
{
    console.log('The checkbox is checked');
}else
{
    console.log('The checkbox is not checked');
}

很简单,但工作。

问候!

remember 是未定义的...并且checked属性是布尔值而不是数字。

function validate(){
    var remember = document.getElementById('remember');
    if (remember.checked){
        alert("checked") ;
    }else{
        alert("You didn't check it! Let me check it for you.")
    }
}

使用以下简单代码:https://jsfiddle.net/Divyesh_Patel/v7a4h3kr/7/

<input type="checkbox" id="check">
<a href="#" onclick="check()">click</a>
<button onclick="check()">
button
</button>
<script>
  function check() {
    if (document.getElementById('check').checked) {
      alert("checked");
    } else {
      alert("You didn't check it! Let me check it for you.");
    }
  }
</script>

你可以使用纯JS和jQuery来使用这个简单有效的代码。

使用验证函数作为onclick attr

function validate(el) {
    if (el.checked) {
        alert("checked")
    } else {
        alert("unchecked")
    }
}
<input id="remember" name="remember" type="checkbox" onclick="validate(this)" />

using pure JS

document.addEventListener("DOMContentLoaded", function(event) { 
    //using pure Js code
    let chk = document.getElementById("remember");
    if (chk.checked) {
        alert("checked")
    }else{
        alert("unchecked")
    }
})
<input id="remember" name="remember" type="checkbox"/>

using jQuery

$(document).ready(function () {
    //using jQuery code
    $('#remember').on('change', function (e) {
        if (e.currentTarget.checked) {
            alert("checked")
        } else {
            alert("unchecked")
        }
    })
})
<input id="remember" name="remember" type="checkbox"/>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

remember变量

未定义。 所以试试这个方式:

function validate() {
  var remember = document.getElementById("remember");
  if (remember.checked) {
    alert("checked");
  } else {
    alert("You didn't check it! Let me check it for you.");
  }
}

你可以试试这个:

if ($('#remember').is(':checked')){
   alert('checked');
}else{
   alert('not checked')
}

试试这个

<script type="text/javascript">
window.onload = function () {
    var input = document.querySelector('input[type=checkbox]');
    function check() {
        if (input.checked) {
            alert("checked");
        } else {
            alert("You didn't check it.");
        }
    }
    input.onchange = check;
    check();
}
</script>

您还可以使用 JQuery 方法来实现此目的:

<script type="text/javascript">
if ($('#remember')[0].checked) 
{
 alert("checked");
}
</script>

以下肯定有效。 2022 年更新

<input onchange="isChecked()" type="checkbox" required="required"/>
<script type="text/javascript">
        let ischeckvariable = false;
    function isChecked() {
        if (!ischeckvariable) {
            ischeckvariable = true;
        } else {
            isckeckvariable = false;
        }
    }
</script>