2011-12-01 12 views
7

Uso la API de Google Maps para crear una lista de barrios seleccionables y utilizar Elegido para que se vea bien. El problema que tengo es que la API de Maps no obtiene los datos de inmediato; lo hace a través de funciones de devolución de llamada, lo que significa que Chosen se aplica antes de que se agreguen las opciones y, como resultado, las opciones no se ejecutan a través de Elegido (lo que hace que no aparezcan en absoluto).¿Cómo cambio dinámicamente un cuadro de selección Seleccionado?

Creo que, en teoría, debería funcionar si solo puedo obtener los elementos en la selección antes de aplicar Chosen, pero no estoy seguro de cómo hacerlo exactamente. ¿Alguna idea?

+1

¿Ha tenido un vistazo a la sección "Cambiar/Actualizar Eventos" en la documentación? – Simon

Respuesta

18

¿Has intentado lo que sugieren los documentos?

Actualización Elegido dinámicamente

Si es necesario actualizar las opciones en el campo de selección y desea Elegido para recoger los cambios, tendrá que activar el "Liszt: actualización" en el caso campo. Elegido se reconstruirá a sí mismo basándose en el contenido actualizado de .

jQuery Version: $("#form_field").trigger("liszt:updated"); 
Prototype Version: Event.fire($("form_field"), "liszt:updated"); 

O, si utiliza una versión más reciente:

jQuery Version: $("#form_field").trigger("chosen:updated"); 
Prototype Version: Event.fire($("form_field"), "chosen:updated"); 

http://harvesthq.github.com/chosen/

+0

oh, yo también lo eché de menos en la documentación ... a veces sucede ... :) –

+3

Ahora es: $ ("# form_field"). Trigger ("elegido: actualizado"); –

+0

@DanyMarcoux gracias por el comentario, la publicación se ha actualizado con el código actualizado. –

4

Para versión elegida < 1.0 a continuación:

$("#form_field").trigger("liszt:updated"); 

Por versión elegida> = 1.0 a continuación:

$("#form_field").trigger("chosen:updated"); 
Cuestiones relacionadas