To use jQuery UI AutoComplete, I loaded the following 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 );

After the above scripts, I loaded my own js which includes the following code:

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

Firebug shows all scripts and style are loaded and gives error message of “$ is not a function”. How can I correct this error?

2 Answers
2

WordPress requires no conflict wrappers for jQuery.

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

Or:

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

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *