如何检查复选框是否已选中?


186

我正在使用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>

- - 编辑 -

解决了这个问题,该字段包含也被命名为“记住”


1
remember在这种情况下是什么if (remember.checked == 1){
PeeHaa 2012年

稍后应记住电子邮件和密码。用于登录页面
Steaphann 2012年

我想说的remember就是undefined在这种情况下。尝试console.log(remember);
PeeHaa 2012年

您正在使用哪个版本的HTML?它不是真正的XHTML,对吗?
李斯特先生,2012年

Answers:


271

checkedboolean财产,因此您可以在以下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>

2
我总是收到消息“您没有检查!我帮你检查一下。
Steaphann 2012年

不,对我来说工作很好; 我都收到了警报消息。
普拉纳夫2012年

@Steaphann您是否用复选框ID替换了“记住”一词?...哦,刚刚注意到2012 0.o ... ps,您在第二次警报声明后忘记了分号
josh.thomson 2014年

..如果我不希望它为我检查,而只想查看是否已检查怎么办?
Mark Kramer

@ josh.thomson分号是可选的。
kojow7

61

试试这个:

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()获取元素。


您还应该建议将其剥离== 1。由于两个错误,它只能工作。实际上,值是trueor false,他应该只使用if( remeber.checked )
jAndy 2012年

我总是收到消息“您没有检查!我帮你检查一下。
Steaphann 2012年

16

这应该允许您检查元素with id='remember'是否为'checked'

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

3
is不属于DOM元素对象
yves amsellem

10
.is()-是jQuery函数。.checked是javascript。
max kaplan 2015年

8

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

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

5

这样使用

<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()" />

1
我总是收到消息“您没有检查!我帮你检查一下。
Steaphann 2012年

@ user1251632 WFM也是。您可以编辑问题并显示您现在拥有什么吗?也许您犯了复制和粘贴错误。
李斯特先生,2012年

document.getElementById('remember')。checked == 1在您发表评论之前被我更改了..这可能是问题所在。
hkutluay 2012年

4

我正在使用它,它与Jquery一起适用于我:

jQuery:

var checkbox = $('[name="remember"]');

if (checkbox.is(':checked'))
{
    console.log('The checkbox is checked');
}else
{
    console.log('The checkbox is not checked');
}

很简单,但是工作的。

问候!


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

2

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.")
    }
}

2

在下面的简单代码中使用此代码: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>


2

这应该工作

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


0

在下面的简单代码中使用此代码: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>


-1

试试这个

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

-1

您还可以使用JQuery方法完成此任务:

<script type="text/javascript">
if ($('#remember')[0].checked) 
{
 alert("checked");
}
</script>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.