2010-11-16 12 views
7

Quiero tener algún tipo de autocompletar personalizado y pensé que tiene más sentido personalizar el autocompletado de jQuery. Entonces me gustaría saber:Autocompletar de JQuery: Reemplazar el comportamiento predeterminado

  1. Cómo forzar abrir la lista de autocompletar? $("#autocomplete").trigger('autocompleteopen'); no funciona.

  2. ¿Cómo poner sus cosas en la lista? Obviamente no a través de la opción source, sino desde afuera.

En otros términos, del 1 y 2, quiero tener una lista de todos opciones (no limitado por limit) y quiero abierta y mostrando todas las opciones antes de que el usuario empieza a escribir y independientemente de lo que esté escribiendo el usuario.

Cualquier ayuda sería apreciada.

Saludos
Parsa

Respuesta

10

La otra respuesta no me ayudó mucho (en lo que respecta a su pregunta 1), sin embargo después de un poco de excavación en torno he encontrado la manera más fácil de forzar la lista de autocompletar para abrir . Todo lo que necesita hacer es simplemente llamar al método de "búsqueda".

Lo primero que hay que hacer es initilase su autocompletar con un minLength de 0, así:

$('#autocomplete').autocomplete({ 
    minLength: 0, 
    ... 
}); 

A continuación, se puede llamar al método de búsqueda para abrir la lista:

$('#autocomplete').autocomplete('search'); 

Es de esperar que esto ayude a otras personas a buscar una respuesta a este problema.

+0

Gracias! Lo puse en foco. Pensé que minLength: 0 haría que esto sucediera, pero no fue así. $ ("# autocompletar"). focus (función() {$ ("# autocompletar"). autocompletar ('buscar');}); –

Cuestiones relacionadas