Divisores automáticos de listas con jQuery Mobile

17/May/2012 Desarrollo Móvil , , , , , , 1 Comentario

En el artículo Divisores de listas con jQuery Mobile veíamos como organizar una lista de elementos para que saliese organizada por divisores.

Así utilizando el atributo data-role="listdivider" podíamos añadir elementos divisores en la lista.

  1. <ul data-role="listview" data-inset="true" data-filter="true">
  2. <li data-role="list-divider">C</li>
  3. <li><a href="#">Casablanca</a></li>
  4. <li><a href="#">Charada</a></li>
  5. <li data-role="list-divider">D</li>
  6. <li><a href="#">Dos Hombres y Un Destino</a></li>
  7. <li data-role="list-divider">E</li>
  8. <li><a href="#">Espartaco</a></li>
  9. <li data-role="list-divider">G</li>
  10. <li><a href="#">El Golpe</a></li>
  11. <li><a href="#">La Guerra de las Galaxias</a></li>
  12. <li><a href="#">Granujas a todo ritmo</a></li>
  13. </ul>

Uno de los inconvenientes que tiene la utilización de data-role="listdivider" es que nos tenemos que asegurarnos de generar los elementos divisores.

Pero tenemos otra opción en jQuery Mobile que es la de generar divisores automáticos en las listas. Para generar divisiores automáticos en jQuery Mobiledeberemos de utilizar el atributo data-autodividers="true" asignado a una lista. Es decir, asignado a una lista data-role="listview".

  1. <ul id="mylistview" data-role="listview" data-inset="true" data-autodividers="true">
  2. <li><a href="#">Casablanca</a></li>
  3. <li><a href="#">Charada</a></li>
  4. <li><a href="#">Dos Hombres y Un Destino</a></li>
  5. <li><a href="#">Espartaco</a></li>
  6. <li><a href="#">El Golpe</a></li>
  7. <li><a href="#">El Silencio de los Corderos</a></li>
  8. <li><a href="#">El Padrino</a></li>
  9. <li><a href="#">Granujas a todo ritmo</a></li>
  10. <li><a href="#">La Naranja Mecánica</a></li>
  11. <li><a href="#">La Guerra de las Galaxias</a></li>
  12. <li><a href="#">Pulp Fiction</a></li>
  13. </ul>

Si bien hay que tener cuidado con el orden en el que generamos los items, ya que la organización de los divisores es en función del primera carácter. De esta manera ante un cambio de carácter genera automáticamente un divisor. Aunque en siguientes items vuelva a repetirse dicho carácter.

El atributo data-autodividers="true" solo está disponible a partir de jQuery Mobile 2.0. Es decir, que de momento solo podemos utilizarlo con las versiones en desarrollo. Así que puedes descargarte la última versión de jQuery Mobile generada por Github.

Para cambiar la ordenación por defecto de las listas en jQuery Mobile con divisores automáticos se puede utilizar el método .listview().

  1. $(document).ready(function(){
  2. $("#milista").listview({
  3. autodividers: true,
  4. autodividersSelector: function ( li ) {
  5. /* Generar una cadena basada en el contenido de li
  6. Tiene que retornar el divisor asociado a ese li */
  7. }
  8. });
  9. });

Yo no lo he conseguido hacer funciona. Si alguien lo consigue. Qué avise. 😀

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*