Tengo un cuadro de texto con fuente de datos remota para autocompletar (jquery) [no el complemento, el original mostrado en jquery ui demos] ¿Cómo me aseguro de que el usuario escribió solo lo que estaba en una de las sugerencias de autocompletar y nada de su propio ?validando jquery autocompletar
Respuesta
La pregunta carece de detalles, pero supongo que quiere decir validar en el lado del cliente ya que se refirió explícitamente al complemento autocompletar. Esta respuesta tendrá dos partes. La primera es la respuesta original, suponiendo un complemento de autocompletar. El segundo se revisa en base a las actualizaciones de la pregunta.
1) Usando http://docs.jquery.com/Plugins/Autocomplete
La mejor solución para esto es la opción "mustMatch". Aquí está la API documentation.
Si se establece en verdadero, el autocompletador solo permitirá los resultados que se presenten en el back-end. Tenga en cuenta que los valores ilegales dan como resultado un cuadro de entrada vacío.
Usted debe ser capaz de utilizarlo de esta manera:
$("selector").autocomplete("url", {"mustMatch": true});
También puede validar la entrada del usuario de alguna manera en el caso de "número". Aquí hay un enlace: http://docs.jquery.com/Plugins/Autocomplete/result.
2) Utilizando http://jqueryui.com/demos/autocomplete
No hay ninguna opción mustMatch aquí. Puede ampliar el complemento, o puede agregar algo similar a lo que mencioné para el otro complemento de autocompletar. Use el evento "change".
$(".selector").autocomplete({
change: function(event, ui) { ... }
});
Si estuviera utilizando una matriz como fuente de datos, esto sería más eficiente. Dado que está utilizando una fuente de datos remota, necesitaría hacer otra consulta final usando ui.item para validar el valor del usuario. A continuación, puede permitir o denegar el comportamiento predeterminado.
En cualquier caso, la entrada aún debe validarse de alguna manera en el lado del servidor. Esto está fuera del alcance de los complementos jQuery.
- 1. jquery validator - Validando elementos visibles solo
- 2. Solr jQuery Autocompletar no autocompletar
- 3. validando FCKeditor
- 4. comma separado autocompletar con jquery autocompletar
- 5. jQuery Autocompletar no aparece
- 6. jQuery autocompletar con imágenes
- 7. JQuery UI Autocompletar Posición
- 8. jquery autocompletar no funciona
- 9. jQuery: Yahoo Autocompletar/Autosuggest
- 10. Jquery Autocompletar Solicitudes encadenadas
- 11. jQuery Combobox/seleccionar autocompletar?
- 12. jquery autocompletar resaltando
- 13. jQuery Autocompletar con JSON
- 14. jQuery UI autocompletar - renderItem
- 15. Validando un formulario knockout.js?
- 16. Validando '%' y '(' de JavaScript
- 17. jQuery UI autocompletar mal posicionamiento
- 18. jQuery UI Autocompletar DownArrow UpArrow
- 19. jQuery autocompletar no seleccionar elemento
- 20. jQuery UI autocompletar con JSON
- 21. JQuery: ¿Cómo autocompletar "Ciudad, estado"?
- 22. Autocompletar jQuery datos utilizando JSON
- 23. jQuery Autocompletar o Ajax AutoCompleteExtender
- 24. jQuery UI Autocompletar con categorías
- 25. jQuery autocompletar autofoco no mantener
- 26. JQuery UI Autocompletar (1.8) desplazamiento
- 27. Resalte Autocompletar IU de jQuery
- 28. jquery ui autocompletar, preguntas css
- 29. jQuery UI Autocompletar: desencadenar una búsqueda Desde fuera de autocompletar
- 30. Haciendo el widget Autocompletar de jQuery UI * en realidad * autocompletar
lo siento, me olvidé de mencionar, estoy utilizando esta función de autocompletar: http://jqueryui.com/demos/autocomplete/#default y no parece ser compatible con mustMatch :( – Shrinath
Lástima. He actualizado mi respuesta para incluir una sugerencia para ese complemento también. – jthompson
Aunque esta pregunta es muy antigua y dado que la opción mustMatch nunca parece ser compatible, aún estoy buscando una solución similar. Tal vez mi pregunta también te ayude: http: // stackoverflow.com/questions/23778628/firing-event-on-jquery-ui-autocomplete-before-minlength – webDEVILopers