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

IT技术 javascript jquery-mobile checkbox
2021-01-31 05:35:09

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

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

- - 编辑 -

解决了,问题是fieldcontain也被命名为'remember'

6个回答

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>
@Steaphann 您是否用复选框 ID 替换了“记住”一词?...哦,刚刚注意到 2012 0.o ...ps 你忘记了第二个警报语句后的分号
2021-03-18 05:35:09
..如果我不想让它为我检查它而我只想看看它是否被检查了怎么办?
2021-03-26 05:35:09
我总是收到消息'你没有检查它!我帮你查一下。
2021-03-27 05:35:09
不,它对我来说工作正常;我收到了两个警报消息。
2021-03-29 05:35:09
@josh.thomson 分号是可选的。
2021-04-03 05:35:09

试试这个:

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

我总是收到消息'你没有检查它!我帮你查一下。
2021-03-17 05:35:09
你还应该建议去掉那个== 1由于两个错误,它只能工作。实际上值是trueor false,他应该只是使用if( remeber.checked )
2021-03-24 05:35:09

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

if (document.getElementById('remember').is(':checked')
为什么会有这么多赞?在缺少的括号和 vanilla 和 jquery 之间的混合之间。答案是可怕的它要么$('#remember').is(':checked')或者document.getElementById('remember').checked只是调音绝不会工作
2021-03-27 05:35:09
.is()- 是一个 jQuery 函数。.checked是javascript。
2021-03-31 05:35:09
is 不属于DOM元素对象
2021-04-10 05:35:09

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

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

像这样使用

<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()" />
document.getElementById('remember').checked == 1 在您发表评论之前由我更改.. 这可能是问题所在。
2021-03-24 05:35:09
@user1251632 WFM 也是。你能编辑你的问题并显示你现在有什么吗?也许您犯了复制和粘贴错误。
2021-03-30 05:35:09
我总是收到消息'你没有检查它!我帮你查一下。
2021-03-31 05:35:09