Jquery 已禁用复选框未从存储的复选框数组返回结果

Jquery 已禁用复选框未从存储的复选框数组返回结果,jquery,Jquery,我正在将div中的所有复选框存储到一个变量中,之后我发现已从存储的变量中禁用,但我没有得到正确的结果,相反,如果我单独查找,我将得到正确的结果 为什么我不能从存储的变量中找到禁用的变量 这是我的密码: var checkedBoxes = $(".locale-container .panel ul li").find("input:checkbox"), disabledBoxes = checkedBoxes.find("input:checkbox:disa

我正在将div中的所有复选框存储到一个变量中,之后我发现已从存储的变量中禁用,但我没有得到正确的结果,相反,如果我单独查找,我将得到正确的结果

为什么我不能从存储的变量中找到禁用的变量

这是我的密码:

  var   checkedBoxes = $(".locale-container .panel ul li").find("input:checkbox"),
            disabledBoxes = checkedBoxes.find("input:checkbox:disabled"); // not getting
但是“disabledBoxes”不会从复选框中获得结果

如果我喜欢这样做:

 var    checkedBoxes = $(".locale-container .panel ul li").find("input:checkbox"),
            disabledBoxes = $(".locale-container .panel ul li").find("input:checkbox:disabled"); // it works 
那么,如何从存储的变量中筛选或获取适当的复选框呢


提前感谢

检查禁用属性。 您可以在jQuery中实现这一点

var disabledBoxes = $(".locale-container .panel ul li")
                     .find("input:checkbox[disabled]")
或使用

   checkedBoxes.has("[disabled]")

检查禁用的属性。 您可以在jQuery中实现这一点

var disabledBoxes = $(".locale-container .panel ul li")
                     .find("input:checkbox[disabled]")
或使用

   checkedBoxes.has("[disabled]")

你必须这样做:

var $parent = $(".locale-container .panel ul li"),
    checkboxes = $parent.find("input:checkbox"),
    disabledBoxes = $parent.find("input:checkbox:disabled"); // NOW YOU GET IT
试试这个,看看它是否解决了这个问题

由于选择器的上下文,您没有获得禁用的复选框:

在这里:

您已经在“
var checkedboxs
”中找到了复选框,并且您试图在该上下文中看到disabled,这意味着您正在检查复选框是否已禁用复选框

解决办法是:


选择一个父项,然后根据需要查找输入类型复选框。

您必须这样做:

var $parent = $(".locale-container .panel ul li"),
    checkboxes = $parent.find("input:checkbox"),
    disabledBoxes = $parent.find("input:checkbox:disabled"); // NOW YOU GET IT
试试这个,看看它是否解决了这个问题

由于选择器的上下文,您没有获得禁用的复选框:

在这里:

您已经在“
var checkedboxs
”中找到了复选框,并且您试图在该上下文中看到disabled,这意味着您正在检查复选框是否已禁用复选框

解决办法是:


选择一个父级,然后根据需要查找输入类型复选框。

您使用的是哪个版本的jQuery?我当前使用的是jQuery 1.9.1。您使用的是哪个版本的jQuery?我当前使用的是jQuery 1.9.1。