jQuery UI Autocompletar no funciona en wordpress?

2

Para usar jQuery UI Autocompletar, cargué los siguientes scripts:

wp_enqueue_script('jquery'); 
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-widget'); 
wp_enqueue_script('jquery-ui-position');

wp_enqueue_style( 'jquery-ui-autocomplete',   $ul .'/css/jquery-ui-1.8.custom.css' );
wp_register_script('jquery-ui-autocomplete', $url .'/js/jquery-ui/jquery.ui.autocomplete.min.js', array( 'jquery-ui-widget', 'jquery-ui-position' ), '1.8.2', true );
wp_enqueue_script( 'jquery-ui-autocomplete', $url .'/js/jquery-ui/jquery.ui.autocomplete.min.js', '1.1', true );

Después de los scripts anteriores, cargué mi propio js que incluye el siguiente código:

$(function(){   
    $("#to").autocomplete({
        // code...
   });
});

Firebug muestra que todos los scripts y el estilo están cargados y da un mensaje de error de "$ no es una función". ¿Cómo puedo corregir este error?

    
pregunta Jenny 10.07.2012 - 05:48

2 respuestas

3

WordPress no requiere envoltorios de conflictos para jQuery.

(function($){   
    $("#to").autocomplete({
        // code...
   });
})(jQuery);

O:

jQuery(function(){   
    jQuery("#to").autocomplete({
        // code...
   });
});
    
respondido por el Chris_O 10.07.2012 - 06:07
2

Lo uso para wp_enqueue_scrip después de un revestimiento:

wp_enqueue_script('jquery-ui-autocomplete', '', array('jquery-ui-widget', 'jquery-ui-position'), '1.8.6');

Como jquery-ui-autocomplete es parte de WP Framework - > vea aquí

En mi codificación, uso la función de autocompletar de la misma manera que @Chris_O mencionó:

    jQuery(document).ready(function($) {

var availableTags = ["Batman", "Spiderman", "Hulk"];
            $( "#foo" ).autocomplete({
                source: availableTags
            });
    });

Para cargar tantos scripts, como en tu ejemplo, no es necesario, porque jquery se carga por defecto desde el framework wp. Recomendaría limpiar la inicialización de su script y reducirlo al mínimo, cargar solo los scripts que necesita. Mire el wp codex .

    
respondido por el mybecks 08.11.2012 - 11:18

Lea otras preguntas en las etiquetas