javascript 是否可以确定复选框是否已选中或未选中

Is it possible for javascript to determine whether a checkbox has been checked or unchecked?

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

在我当前的项目中,我正在创建一个搜索函数,当用户选择不同的搜索条件时,该功能会动态更新内容。正如我的标题所述,我想知道用户是否选中或取消选中了特定项目,以便我的 JavaScript 代码可以适当地调整内容。

使用 jQuery,我可以轻松判断是否有人点击了复选框,但我不知道如何判断它是否被选中?

例:

<label class="checkbox"><input type="checkbox" id="checkbox1"> Any in Manhattan</label> 

用户点击它,我希望我的jquery做一些事情:

  $( "#checkbox1" ).on( "click", function( event, ui ){
    if("#checkbox1" === "clicked"){console.log("check it out!");}
  });
您可以使用

$("#myCheckbox").is(":checked")

如果选中集合中的至少一项,则返回 true。 在这种情况下,集合将是(希望)带有 id myCheckbox 的奇异元素。

使用复选框对象的 .checked 属性,而不仅仅是检测它是否已单击。正如您所指出的,仅单击并不意味着它被选中,因为他们可能已经单击以取消选中它,就像他们可能单击以检查它一样。

如果您向我们展示代码的相关部分,我们可以准确地告诉您如何在程序上下文中执行此操作。(例如,你提到你"可以很容易地判断是否有人点击了复选框"。因此,如果您将代码的这一部分放入您的问题中,我们不仅可以向您展示如何判断复选框是否被"命中",还可以使用本机 .checked 属性或 jQuery 选择器判断它是否被选中。

使用您的代码示例,我们可以这样做:

  $( "#checkbox1" ).on( "change", function( event, ui ){
    if(this.checked){console.log("check it out!");}
  });

出于各种原因,最好使用change而不是click

更新:这里有更多讨论:jQuery复选框选中状态更改事件

更新 2:工作JS摆弄上面的代码片段:http://jsfiddle.net/cookies/NDjCT/