Próbuję policzyć liczbę opcji na liście. Niektóre opcje zostały jednak ukryte z powodu wpisania tekstu do pola wprowadzania.Policz liczbę opcji na liście
Zacząłem patrząc .size() i .length ale tylko coraz pełną listę aniżeli te, które nie zostały ukryte. Aby uprościć, zmieniłem go, aby spróbować znaleźć ukryte opcje (mogę użyć: nie później).
$('#txtListSearch').keyup(function(evt) {
if($(this).val().length < 1) {
$('#selContactLists option').show();
} else {
$('#selContactLists option:not(:contains("' + $(this).val() + '"))').hide();
if($('#selContactLists').size()) {
$('#selContactLists option:contains("' + $(this).val() + '")').first().attr('selected', 'selected');
} else {
}
}
console.log($('#selContactLists option').filter(':hidden'));
});
Próbowałem również: console.log ($ ('# selContactLists opcja: hidden')); Nigdy nie dostaję liczby, której się spodziewam. Czy ktoś może zobaczyć, gdzie idę źle?
Jeszcze bardziej dziwne jest to, że jeśli zmienię „wielkość” select tak, że więcej niż jeden element jest domyślnie wyświetlane na chromie nie ukrywa żadnej z opcji.
Czy możesz również zamieścić przykład HTML? – Stefan
Boczna uwaga dotycząca 'size()' powoduje, że je wprowadziłeś. Został oznaczony jako pozbawiony danych. Z dokumentacji: 'Metoda .size() jest funkcjonalnie równoważna właściwości .length; Jednak właściwość .length jest preferowana, ponieważ nie ma narzutów wywołania funkcji. "(http://api.jquery.com/size/) – Nope
Na jakiej podstawie opcje ukrywają się lub pokazują? –