Search code examples
jqueryjquery-ui

TypeError: $(...).autocomplete is not a function


I am getting the error TypeError: $(...).autocomplete is not a function when using the following code inside a Drupal module.

jQuery(document).ready(function($) {
        $("#search_text").autocomplete({
            source:results,
            minLength:2,
            position: { offset:'-30 0' },  
            select: function(event, ui ) { 
                    goTo(ui.item.value);
                    return false;
            }        
    }); 
});

jQuery is definitely loaded, and I have tried using a different variable for $ - any ideas what else might be the problem?

(Edit) Drupal specific answer for autocomplete:

drupal_add_library('system', 'ui.autocomplete');

Solution

  • you missed jquery ui library. Use CDN of Jquery UI or if you want it locally then download the file from Jquery Ui

    <link href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" rel="Stylesheet">
    <script src="YourJquery source path"></script>
    <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js" ></script>