2012-06-02 25 views

Respuesta

2

He utilizado el

$('.typeahead').removeClass('dropdown-menu'); 

y

$('.typeahead').addClass('dropdown-menu'); 

para ocultar muestran que la sugerencia desplegable.

6

Sí, puedes. Es muy fácil con el uso de método jQuery .unbind()

Por ejemplo:

$('.typehead').typehead(); 
//and then you can dynamically unbind this plugin 
$('.typehead').unbind(); 
+0

¡Gracias! por tu tiempo. Pero no puedo usar desvinculación. Pero he usado $ ('. Typeahead'). RemoveClass ('menú desplegable'); Este método para ocultar el menú desplegable. y agregue esta clase nuevamente –

+0

Utilice este método con precaución, ya que esto eliminará todos los detectores de eventos del elemento DOM seleccionado, en lugar de solo los oyentes typeahead (que están en 'blur',' focus', 'input' y' keydown '). –

1

Tuve que usar una solución diferente (y pirateada) porque estoy cambiando los datos de escritura anticipada cada vez que lo ato y no pude obtener las otras respuestas para que funcionen. Lo dejaré aquí por si alguien lo necesita.

Retire TYPEAHEAD

var parent = $('.typeahead').parent(); 
var html = parent.html(); 
$('.typeahead).remove(); 
parent.html(html); 

Añadir TYPEAHEAD

$('.typehead').typehead(); 
6

Sé que llego tarde a la fiesta, a continuación eliminará en lugar de simplemente ocultar.

$('.typeahead').typeahead('destroy'); 
+1

+1 Esto ayuda cuando se usa el mismo campo para ser poblado (por ejemplo, en una ventana emergente) El campo no se borra automáticamente, de esta manera el 'typeahead' se elimina silenciosamente sin alterar el campo ni su contenido. Esta es también la forma correcta de eliminar typeahead – Pierre

+0

, esto no funciona para mi aplicación. se deshace de los datos en áreas completamente diferentes. pero sí reutilizo mi typeahead así que necesito alguna manera de actualizar los datos que extrae. – user2847749

+0

No estoy seguro de por qué no funcionaría para usted. ¿Estás usando control remoto o precaptura? ¿Estás usando IE? IE a veces tiene problemas de almacenamiento en caché. Si es IE, puede intentar agregar '$ .ajaxSetup ({cache: false});' para reparar IE. –

1

Este código funciona para mí.

var typeaheadEle = $('#myTypeahead').data('typeahead'); 
if (typeaheadEle) {typeaheadEle.source = [];} 

donde myTypeahead es el ID del elemento de entrada.

+0

Este es el mejor método para usar para Bootstrap v2.3.2, imo. –

0

Encontré $('.some-typeahead-parent .tt-dropdown-menu').hide(); para trabajar mejor para el conjunto de datos múltiples typeahead.

Cuestiones relacionadas