Permitir que el usuario agregue una opción a la lista de autocompletar (arranque de escritura anticipada)

Hay muchos hilos y muestras por ahí sobre mecanografiar (https://gist.github.com/1866739) y también una versión bifurcada, pero simplemente no puedo encontrar nada que permita al usuario "agregar" lo que ha escrito, si aún no está en la lista. Si el usuario continúa escribiendo cuando hay 0 resultados, los resultados ul Está oculto...

mecanografiar enter image description here

Me gustaría agregar un <li> ese es el valor de entrada (que sé cómo hacer), pero el menú desplegable desaparece si el usuario continúa escribiendo y no hay coincidencias.

Cuando bajé a 1 coincidencia "contar li" por cantidad: "1" funciona, pero contar 0 no funciona, es como si la lista completa se "repoblara" nuevamente si no hay coincidencias.

¡Los enlaces, sugerencias o ejemplos serían muy apreciados!

preguntado el 01 de julio de 12 a las 02:07

Quieres decir como un CTRL+L+A para "Agregar texto actual en la entrada a la lista personalizada"? -

¿Con Ctrl+L+A te refieres a un atajo de teclado para lo que estoy tratando de lograr? Si es así, "Ctrl+L+A" sería un "próximo paso" genial, especialmente porque está en mi línea hacer que el teclado del sitio web sea amigable. -

el comportamiento normal seria choose or write your interest y al enviar obtendría el valor del cuadro de entrada de la misma manera... -

el problema es que si agrego un li que dice "elegir". No se muestra si el usuario sigue escribiendo. =/ -

@balexandre eso es lo que estoy tratando de lograr. -

1 Respuestas

Realmente no entiendo cuál es el problema, pero supongo que es porque es demasiado fácil y simplemente no lo ves.

En lugar de tener un botón para que el usuario agregue su propio interés (en lugar de seleccionarlo de la lista, su source), podría simplemente aceptar el valor de usuario usando $('.typeahead').val();

aquí hay un demo en vivo, siéntase libre de agregar sus propios artículos y presione Enviar para tenerlos efectivamente como typehead .

en su página, en realidad podría usar $.ajax() para agregar el nuevo elemento a su base de datos de inmediato, o espere hasta que el usuario envíe el formulario y lo agregue.

Respondido 01 Jul 12, 03:07

Esto es lo que he estado buscando (!) ¡Gracias! - También

@Alisso - Esa demostración me recuerda a las demostraciones en el AngularJS sitio. - Jared Farrish

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.