检查是否选中了“此”复选框

时间:2012-01-13 12:43:47

标签: jquery checkbox

如果使用此命令检查了'this'复选框,我该怎么办?

我有以下但不确定如何实现这一点(所以它只检查选中的单个复选框而不是页面上的所有复选框

if ($('input[type="checkbox"]').is(':checked')

7 个答案:

答案 0 :(得分:31)

这个怎么样?

if($(this).is(':checked'))

答案 1 :(得分:13)

大概是指在事件处理程序的上下文中this ...在这种情况下,只需测试checked属性:

$('input[type="checkbox"]').click(function() {
    if (this.checked) {
        // checkbox clicked is now checked
    }
});

请注意,您可以使用以下方法执行相同的操作:

  • $(this).is(':checked')
  • $(this).prop('checked')

但是,this.checked避免了创建新的jQuery对象,因此效率更高(并且代码更快)。 is是最慢的:它需要的时间是prop的两倍,是简单属性查找的大约100倍。

jsPerf comparison between this techniques

答案 2 :(得分:4)

您需要使用ID选择器。输入[type =“checkbox”]选择器将返回'all复选框。

if ($('#Checkbox1').is(':checked'))

其中Checkbox1是复选框的ID

答案 3 :(得分:3)

查看prop()http://api.jquery.com/prop/

文档提供了多种更好的方法来检查“已选中”复选框。

elem.checked                      |  true (Boolean) Will change with checkbox state
$(elem).prop("checked")           |  true (Boolean) Will change with checkbox state
elem.getAttribute("checked")      |  "checked" (String) Initial state of the checkbox; does not change
$(elem).attr("checked")(1.6)      |  "checked" (String) Initial state of the checkbox; does not change
$(elem).attr("checked")(1.6.1+)   |  "checked" (String) Will change with checkbox state
$(elem).attr("checked")(pre-1.6)  |  true (Boolean) Changed with checkbox state

答案 4 :(得分:2)

你的意思是这样的(0是索引):

if ($(':checkbox').get(0).is(':checked'))

或者像这样:

if ($(this).is(':checked'))

答案 5 :(得分:1)

尝试以下内容,您知道id

$('#edit-checkbox-id').is(':checked'); 

或者如果您已经使用此关键字引用该项目

$(this).is(':checked');

答案 6 :(得分:1)

我使用以下内容:

$(this).find('input[type="checkbox"]:checked')

此示例返回已选中的所有复选框