jaap rood
Implementé el autocompletado en un campo de entrada, pero el cuadro no aparece y Firebug devuelve “this.source no es una función”. He usado autocompletar en otros campos de la misma página sin ningún problema. (dos áreas de texto).
Estoy usando el siguiente código para depurar, el mismo efecto si ejecuto desde un archivo de script o desde la línea de comandos de Firebug.
var fakedata = ['test1','test2','test3','test4','ietsanders'];
$("#omschrijving").autocomplete(fakedata);
ejecutando jquery 1.4.2 y jquery ui 1.8.2, ambas versiones minimizadas.
¿Alguien tiene una idea de cómo la función de autocompletar funciona bien en las áreas de texto, pero provoca un mal funcionamiento en las entradas?
Rastreo de error y pila:
this.source is not a function
http://facturatie.autodealers.nl/dev/resources/js/jquery-ui-1.8.2.custom.min.js
Line 570
close(Object { name="a"})jquery....min.js (regel 570)
close(Object { name="a"}, Object { name="c"})jquery....min.js (regel 570)
response()
La respuesta es que el primer parámetro de la función de autocompletar debe ser un objeto que contenga la propiedad “fuente”. Esto funciona
var fakedata = ['test1','test2','test3','test4','ietsanders'];
$("#omschrijving").autocomplete({source:fakedata});
-
no es tan vergonzoso, ya que dice diferente en alguna documentación. ¿Cómo adivinar?
– Itay Moav-Malimovka
7 de diciembre de 2011 a las 16:43
-
Además, es posible que vea este error o similar si
source
es un objeto con llaves, como{ a:A, b:B, c:C }
. Deben ser solo valores únicos, como en{ "A", "B", "C" }
.– ctlockey
20 de septiembre de 2017 a las 2:59
-
En mi caso,` $(“.div”).autocomplete();` Tenía este error porque la clase
.div
no existía– Alex
19/10/2017 a las 16:45
B Shelton
Si estaba tratando de usar autocompletar desde http://www.devbridge.com/projects/autocomplete/jquery/#demo, ahora choca con el método de autocompletar en jQuery UI. Tuve el mismo problema y luego noté que solo podía usar la implementación de jQuery UI.
(NOTA: parece que la documentación de esta página es incorrecta: http://docs.jquery.com/Plugins/Autocomplete#Setup)
José González
Si lo usa con la biblioteca jQuery UI, también tiene un complemento llamado autocomplete
. En este caso, puede usar el alias del complemento devbridgeAutocomplete
:
$('.autocomplete').devbridgeAutocomplete({ ... });
Esto resuelve el problema con la colisión de jQuery UI
-
Esto debería obtener más garrapatas porque eso resolvió mi problema.
– Sr. Jo
28 de noviembre de 2018 a las 14:23
-
Esto resolvió mi problema también. Loca. Oh, Stack Overflow, cómo te amo (la mayor parte del tiempo).
– tjans
28 de agosto de 2019 a las 18:38
Como dijo Shelton, la versión de devbridge.com (1.1.3) choca con jQuery UI (1.8.4). Lo hice funcionar asegurándome de que la versión de devbridge se carga después de la versión de jQuery UI.
j88
Tuve un problema similar para tagedit/autocompletar. Parece que también desea deshabilitar la función de autocompletar. Establecer la fuente en falso evita estos errores.
Solución:
options.autocompleteOptions.source = false;
zer0
Buscar al final de jquery.autocompletar.js la siguiente sección:
Cree un complemento jQuery encadenable:
$.fn.devbridgeAutocomplete = function (options, args) {....
Este devbridgeAutocomplete es un complemento alternativo para acceder a la misma funcionalidad usando estas líneas:
if (!$.fn.autocomplete) {
$.fn.autocomplete = $.fn.devbridgeAutocomplete;
}
Entonces… puedes usar devbridgeAutocomplete
en vez de autocompletar o cualquier nombre cambiando esto $.fn.devbridgeAutocomplete
samsky
en mi caso, tuve una segunda importación de jquery de la que no me di cuenta. Algo como:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.devbridge-autocomplete/1.2.27/jquery.autocomplete.min.js"></script>
// More code
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script>
Así que asegúrese de importar el script de autocompletar después de inicializar jquery.
¿Qué complemento de autocompletar estás usando? Hay varias variantes.
– Puntiagudo
22 de julio de 2010 a las 12:47
¿Podría activar el seguimiento de la pila en Firebug y publicar la función en la que ocurrió esto?
– Maz
22 de julio de 2010 a las 12:47
Estoy usando el autocompletado de jQuery UI como se incluye en la versión 1.8.2 de la biblioteca de jQuery UI. trabajando en el seguimiento de la pila
– JaapRod
22 de julio de 2010 a las 12:49
Y encontré la respuesta, casi avergonzado de admitir que simplemente lo implementé de manera incorrecta.
– JaapRod
22 de julio de 2010 a las 12:57