我想在多選中計數未選中。但似乎有一些問題。見搗鼓更多..jquery multiselect:計數爲非選定的選項不能正常工作
問題:
- 試着點擊
Select all
和Deselect all
按鈕幾次,Select all
停止工作。 - 即使
Select all
在視覺上停止工作,它仍然在dom中選擇/取消選擇。您可以使用螢火蟲來檢查它。 - 如果是在dom中選擇/取消選擇,爲什麼它會爲取消選定的元素提供不正確的計數?
注:
請遵循以低於小提琴嚴格按照此順序,看看我的問題。 點擊Select all
,然後Deselect all
,然後再次點擊Select all
。 此時DOM/Firebug顯示選項被選中。 但是,當我按計數我得到結果4 instaed 0
目的:我不關心,如果在視覺上或不選擇,我的主要目的是爲了獲得正確的計數未選擇的選項螢火顯示「選項「正在被選中和取消選擇。
的jsfiddle:http://jsfiddle.net/bababalcksheep/fgfdb/
HTML:
<button id="countdeselected">Count deselected</button>
<button id="selectall">select All</button>
<button id="deselectall">Deselect All</button>
<select name="languages[]" multiple="multiple" class="multiselect" id="languages" style=" ">
<option value="ALB">Albania</option>
<option value="DZA">Algeria</option>
<option value="alfa">Custom1</option>
<option value="beta">Custom2</option>
</select>
<ul id="status"></ul>
JS:
$("#countdeselected").click(function (event) {
var dd = $("#languages option:not(:selected)").length
$('#status').append($('<li>').text(dd));
});
$("#selectall").click(function (event) {
$("#languages option").attr('selected', 'selected');
});
$("#deselectall").click(function (event) {
$("#languages option").attr('selected', null);
});
在Chrome,它工作得很好。但在Firefox上,一旦按下全選然後全部取消選擇,您從現在開始無法按全選按鈕。很奇怪。 –
但是,如果您按全選,然後取消選擇全部,然後手動選擇所有項目,它會起作用。 –