2016-11-19 77 views
4

我的複選框列表由已選中,未選中和未確定(第三)狀態組成。對於那些想知道的人,我使用jQuery爲某些複選框設置不確定狀態。最後,我想查找並選擇所有未選中狀態的複選框,但不是使用jQuery的不確定狀態。如何選擇未選中的複選框但不是不確定的狀態

這裏是我的複選框

<div id="list"> 
    <input id="item-1" type="checkbox"> 
    <input id="item-2" type="checkbox"> 
    <input id="item-3" type="checkbox"> 
    <!-- and so on --> 
</div> 

我可以用下面的

var checkedItems = $("#list").find("input:checkbox:checked"); 

選中的那些我也可以得到所有的選中具有以下

var uncheckedItems = $("#list").find("input:checkbox:not(:checked)"); 

然而, uncheckedItems將返回我具有不確定狀態的項目。

我已經嘗試了以下很好,但我得到了unsupported pseudo: indeterminate(…)

var uncheckedItems = $("#list").find("input:checkbox:not(:checked):not(:indeterminate)"); 

那我怎麼只能選擇未被檢查的項目而不選擇不確定的呢?

預先感謝您。

+0

在我看來,對於複選框賽門鐵克是開還是關,第三狀態下沒有預期的或真正的支持。爲什麼不選擇單選按鈕是/否/不確定或類似的事情很容易處理和理解? –

+0

嗨@JECarterII,不幸的是單選按鈕不適用於我們當前的用戶界面。所以我們堅持使用複選框。 – HuorCulnamo

+0

我可以問問他們「不工作」嗎?難道你不能有多個無線電按鈕,因爲沒有空間?因爲從外觀上看,複選框和單選按鈕之間沒有區別,只要它們的樣式相同即可。 – junkfoodjunkie

回答

3

您可以在不確定的財產使用過濾器

$("[type=checkbox]:not(:checked)") 
    .filter(function() { return !this.indeterminate; }); 

See jsfiddle

+0

這適用於我的情況。謝謝! – HuorCulnamo

相關問題