2013-10-03 71 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