He implementado la función autocompletar en un campo de entrada, pero el cuadro no se presenta y firebug devuelve «esto.la fuente no es una función». He utilizado la función autocompletar en otros campos de la misma página sin ningún tipo de problemas. (dos textarea s).

Estoy utilizando el siguiente código de depuración, el mismo efecto si puedo ejecutar desde el archivo de secuencia de comandos o Firebug línea de comandos.

var fakedata = ['test1','test2','test3','test4','ietsanders'];
$("#omschrijving").autocomplete(fakedata);

ejecución de jquery 1.4.2 y jquery ui 1.8.2, tanto record de versiones.

¿Alguien tiene una idea de cómo funciona la función autocompletar bien en los textareas, pero la causa de este mal funcionamiento en las entradas?

Error & seguimiento de la 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()
  • Que plugin autocomplete estás usando? Hay varias variantes.
  • Puede activar el seguimiento de pila en firebug y posteriores a la función en que esto ocurrió?
  • Estoy usando jQuery UI autocomplete como aparece en la versión 1.8.2 de la biblioteca de UI de jQuery. trabajando en el seguimiento de pila
  • Y he encontrado la respuesta, casi a la vergüenza de admitir que me he implementado de la manera incorrecta.
InformationsquelleAutor Jaap Rood | 2010-07-22

6 Comentarios

  1. 61

    Respuesta es que el primer parámetro de la función de autocompletar debe ser un objeto que contiene la «fuente» de la propiedad. Esto funciona

    var fakedata = ['test1','test2','test3','test4','ietsanders'];
    $("#omschrijving").autocomplete({source:fakedata});
    • no tan vergonzoso, como se dice diferente en parte de la documentación. Cómo puedes adivinar?
    • También, usted puede ver este error o similar si source es un objeto con las teclas, como { a:A, b:B, c:C }. Se debe sólo a los valores individuales, como en { "A", "B", "C" }.
    • En mi caso,` $(«.div»).autocompletar (); » yo estaba teniendo este error porque la clase .div no existen
  2. 6

    Si se usa con jQuery interfaz de usuario de la biblioteca también ha plugin llamado autocomplete. En este caso se puede utilizar un plugin alias devbridgeAutocomplete:

    $('.autocomplete').devbridgeAutocomplete({ ... });

    Esta solucionar el problema con jQuery UI colisión

    • Este debe obtener más garrapatas debido a que resolver mi problema.
    • Esta solucionado mi problema también. Loco. Oh, Desbordamiento de la Pila, cómo yo te amo (la mayoría del tiempo).
  3. 5

    Como Shelton dijo, la versión de devbridge.com (1.1.3) choca con jQuery interfaz de usuario (1.8.4). Tengo trabajo para asegurarse de que el devbridge versión se carga después de jQuery interfaz de usuario de la versión.

  4. 1

    Tenido un problema similar para tagedit/autocompletar. Parece que usted también desea desactivar la función de autocompletar. Configuración de la fuente de falsas evita estos errores.

    Solución:

    options.autocompleteOptions.source = false;
  5. 0

    De búsqueda al final de jquery.autocomplete.js la siguiente sección:

    Crear encadenable plugin de jQuery:

    $.fn.devbridgeAutocomplete = function (options, args) {....

    Este devbridgeAutocomplete es una alternativa plugin para acceder a la misma funcionalidad mediante estas líneas:

    if (!$.fn.autocomplete) {
        $.fn.autocomplete = $.fn.devbridgeAutocomplete;
    }

    Así que.. puede utilizar devbridgeAutocomplete en lugar de autocompletar o cualquier nombre por el cambio de este $.fn.devbridgeAutocomplete

Dejar respuesta

Please enter your comment!
Please enter your name here