2013-10-03 25 views
1

我存储所有复选框我的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 

所以我怎样才能过滤或者从存储的变量相应的复选框?

在此先感谢

+0

您使用的是哪个版本的jQuery? – Smartis

+0

jquery 1.9.1,目前我正在使用。 – 3gwebtrain

回答

0

检查禁用的属性。 您可以在jQuery中使用has attribute selector来实现此目的。

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

has()

checkedBoxes.has("[disabled]") 
+0

不。不工作 – 3gwebtrain

+0

@ 3gwebtrain,已更新。请检查 –

1

你要做的是这样的:

var $parent = $(".locale-container .panel ul li"), 
    checkboxes = $parent.find("input:checkbox"), 
    disabledBoxes = $parent.find("input:checkbox:disabled"); // NOW YOU GET IT 

试试这个,看看它是否解决了问题。

你没有得到,因为选择的范围内的禁用复选框:

这里:

$(".locale-container .panel ul li").find("input:checkbox") 

你有这个“var checkedBoxes”得到的复选框,你想看清禁用这个上下文,意味着你正在检查复选框是否禁用复选框。

解决办法是:

取父然后找到输入类型复选框根据需要。

+0

我已经完成了。任何非常感谢。 – 3gwebtrain