Tengo datos alojados en el servidor. Creo un documento AJAX PHP para devolver los datos en algún elemento HTML.
Cuando probé imprimir varios OPTION para alojar los datos en un SELECT no tuve ningún problema. Pero luego quise intentar imprimir varios LI-A para un LISTVIEW generaba el link de A pero no tenía formato de BUTTON, ni cambiando los tipos.
Busqué con palabras claves en Google sin saber con qué me estaba enfrentando. La cosa es que hay un tema con AJAX y con jQuery Mobile, la asincronía.
Busqué y busqué, varios foros que databan de 2012, 2013, etc. Muchos decían que la solución era invocando por jQuery al ID del UL con el LISTVIEW, es decir si el LISTVIEW UL tenía de ID a Pinky trabajar con $("#Pinky"); y con él generar un Refresh en la función de éxito (SUCCESS) de la API AJAX de jQuery. Entonces, lo que tenía que hacer es escribir $("#Pinky").listview("refresh");
Pero no salió. No salía, no salía, todos los foros decían lo mismo y si bien decían que llegaban a buen puerto ninguno me funcionaba.
Pasé por la puerta de la documentación de jQuery Mobile y explicaban algo: La diferencia entre CREATE y REFRESH. Mucho no comprendía pero sí decía que primero había que crear algo y después refrescar. El ejemplo que tenía en esa página me confundía más.
Por suerte ya sabía qué seguir buscando y lo encontré. Hay que generar un CREATE por medio de un TRIGGER. De esta manera se puede realizar:
Cuando probé imprimir varios OPTION para alojar los datos en un SELECT no tuve ningún problema. Pero luego quise intentar imprimir varios LI-A para un LISTVIEW generaba el link de A pero no tenía formato de BUTTON, ni cambiando los tipos.
Busqué con palabras claves en Google sin saber con qué me estaba enfrentando. La cosa es que hay un tema con AJAX y con jQuery Mobile, la asincronía.
Busqué y busqué, varios foros que databan de 2012, 2013, etc. Muchos decían que la solución era invocando por jQuery al ID del UL con el LISTVIEW, es decir si el LISTVIEW UL tenía de ID a Pinky trabajar con $("#Pinky"); y con él generar un Refresh en la función de éxito (SUCCESS) de la API AJAX de jQuery. Entonces, lo que tenía que hacer es escribir $("#Pinky").listview("refresh");
Pero no salió. No salía, no salía, todos los foros decían lo mismo y si bien decían que llegaban a buen puerto ninguno me funcionaba.
Pasé por la puerta de la documentación de jQuery Mobile y explicaban algo: La diferencia entre CREATE y REFRESH. Mucho no comprendía pero sí decía que primero había que crear algo y después refrescar. El ejemplo que tenía en esa página me confundía más.
Por suerte ya sabía qué seguir buscando y lo encontré. Hay que generar un CREATE por medio de un TRIGGER. De esta manera se puede realizar:
..., succes: function ( queDevuelve ) { var $ul = $("#Pinky"); $ul.html( queDevuelve ); $ul.trigger("create"); $ul.listview("refresh"); }, ...
Comentarios
Publicar un comentario