Estoy tratando de contar el número de opciones en una lista. Sin embargo, algunas de las opciones se han ocultado debido al texto de búsqueda ingresado en un cuadro de entrada.Cuenta el número de opciones en una lista
Comencé a buscar en .size() y .length pero solo obtenía la lista completa en lugar de las que no estaban ocultas. Para simplificar, lo he cambiado para tratar de encontrar las opciones ocultas (puedo usar: no más tarde).
$('#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'));
});
También he intentado: console.log ('opción # selContactLists: oculto' $()); Nunca consigo el número que estoy esperando. ¿Alguien puede ver dónde me estoy equivocando?
Aún más extraño, es que si cambio el "tamaño" de la selección para que se muestre más de un elemento por defecto, en cromo nunca oculta ninguna de las opciones.
¿También puede publicar un ejemplo de HTML? – Stefan
Nota lateral sobre 'size()' porque lo ha mencionado. Ha sido marcado como depravado. De los documentos: 'El método .size() es funcionalmente equivalente a la propiedad .length; sin embargo, se prefiere la propiedad .length porque no tiene la sobrecarga de una llamada de función. (http://api.jquery.com/size/) – Nope
¿En qué se ocultan las opciones o se muestran? –