5

¿Hay alguna manera de convertir la función de escritura anticipada de twitter bootstrap en una función $ ("body"). On()? El siguiente código funciona bien si el elemento existe en la carga de la página.twitter bootstrap typeahead no se puede agregar al elemento creado dinámicamente

$("#job_title").typeahead({ 
    source: searchFunction,   
    onselect: function(obj) {    
    } 
}); 

Pero si añado la entrada de texto con id = "job_title" de forma dinámica, la función anterior no funciona. ¿Hay una solución para esto?

+2

Fijar la cita que faltan antes de que alguien cree que es el problema – Esailija

+0

Vaya, sí que era sólo un error de pasta de mal. Gracias por señalar eso. pero este no es el problema :) –

+0

¿Es un problema inicializar el 'typeahead' en el elemento cuando lo agregas? – Esailija

Respuesta

1

He descargado jquery.livequery.js para obtener el comportamiento que quería:

$("#job_title").livequery("create", function() { 
    $(this).typeahead({ 
     source: searchFunction,   
     onselect: function(obj) {    
     } 
    }); 
}); 
+0

¿Alguna vez encontró una forma alternativa de lograr esto sin usar JavaScript complementario? – Josh

+0

En realidad, recientemente cambié la implementación de arranque para la implementación de jQuery-ui debido a problemas de compatibilidad del navegador. –

+0

¿Qué problemas de compatibilidad con el navegador encontraste? – Josh

3

Esta solución no requiere JavaScript adicional. De https://stackoverflow.com/a/15094730

$("#element-that-will-contain-typeaheads").on("DOMNodeInserted", function() { 
    $(this).find(".typeahead").typeahead(); 
}); 
Cuestiones relacionadas