Ir al contenido

Filtrar elementos con jQuery Mobile

jQuery Mobile nos ofrece un mecanismo de filtrado de datos en cliente muy potente. Podemos configurar las listas para que permitan filtrar los elementos.

Si partimos de una lista sencilla con jQuery Mobile:

<ul data-role="listview">
<li>Avila</li>
<li>Burgos</li>
<li>León</li>
<li>Palencia</li>
<li>Salamanca</li>
<li>Segovia</li>
<li>Soria</li>
<li>Valladolid</li>
<li>Zamora</li>
</ul>

Lo único que tenemos que hacer es insertar un atributo data-filter=“true”. Este atributo de jQuery Mobile hará que aparezca un elemento de filtrado en nuestras listas.

<ul data-role="listview" data-filter="true">
<li>Avila</li>
<li>Burgos</li>
<li>León</li>
<li>Palencia</li>
<li>Salamanca</li>
<li>Segovia</li>
<li>Soria</li>
<li>Valladolid</li>
<li>Zamora</li>
</ul>

El siguiente paso será configurar el texto que aparece en la caja de filtrado. Para que aparezca algo representativo. Por ejemplo, si estamos buscando ciudades podríamos poner algo como “¿Qué ciudad estás buscando?”.

Para modificar el placeholder de la lista en jQuery Mobile tenemos dos opciones. La primera es mediante un atributo. Este es el atributo data-filter-placeholder. Lo que tendremos que hacer es darle como valor el texto que queremos que aparezca en el filtro.

<ul data-role="listview" data-filter="true" data-filter-placeholder="¿Qué ciudad estás buscando?">
<li>Avila</li>
<li>Burgos</li>
<li>León</li>
<li>Palencia</li>
<li>Salamanca</li>
<li>Segovia</li>
<li>Soria</li>
<li>Valladolid</li>
<li>Zamora</li>
</ul>

La segunda forma que tenemos de modificar el texto de la caja de filtrado en jQuery Mobile es vía código. Y es que el texto del placeholder se puede modificar en la variable $.mobile.listview.prototype.options.filterPlaceholder. Por lo tanto, en el evento “mobileinit”, es decir, cuando se está inicializando el framework podemos modificar su valor.

$(document).bind("mobileinit", function(){
$.mobile.listview.prototype.options.filterPlaceholder = "Texto del PlaceHolder Cambiado Por Código";
});

Recuerda que para escuchar eventos en jQuery utilizamos el método .bind()

Esta segunda opción es más para una configuración general de los placeholder de todos los filtros de la aplicación. Es por ello que se suele sacar a un fichero de configuración custom-scripting.js en el cual podamos modificar sus valores de forma sencilla.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Filtrar elementos con jQuery Mobile

Descubre cómo filtrar elementos con jQuery Mobile y mejora la usabilidad de tus listas. Aprende a personalizar el placeholder para una mejor experiencia.

Descargar código