2015-01-02 2 views
1

Я пытаюсь добавить автозаполнение jquery в текстовое поле поиска, но по какой-то причине я не могу заставить его работать. Похоже, что у меня все загруженные jquery загружены и нет различий в версиях. Я пробовал каждый (по крайней мере, тот, который нашел) предлагаемое решение, но никто из них не работал.jQuery autocomplete - Uncaught TypeError: undefined не является функцией

мой HTML:

<input type="search" name="searchTerm" 
data-test-autocomplete="@Url.Action("AutoComplete")" /> 

мои ЯШ:

$(function() { 
    var createAutoComplete = function() { 
    var $input = $(this); 

    var options = { 
     source: $input.attr("data-test-autocomplete") 
    }; 

    $input.autocomplete(options); 
    }; 


    $("input[data-test-autocomplete]").each(createAutoComplete); 

}); 

пучок Называние внутри _Layout.cshtml в конце тела:

bundles.Add(new ScriptBundle("~/bundles/test").Include(
       "~/Scripts/jquery-{version}.js", 
       "~/Scripts/jquery-ui-{version}.js", 
       "~/Scripts/jquery.unobtrusive*", 
       "~/Scripts/jquery.validate*", 
       "~/Scripts/test.js")); 

скрипты загружаются:

<script src="/Scripts/jquery-1.10.2.js"></script> 
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script> 
<script src="/Scripts/jquery.validate.js"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.js"></script> 
<script src="/Scripts/test.js"></script> 
<script src="/Scripts/bootstrap.js"></script> 
<script src="/Scripts/respond.js"></script> 

Заранее спасибо.

+0

90% от jquery Ошибки дают: undefined не функция. Что не определено? .. Нажмите на неопределенное в консоли, чтобы увидеть, где ошибка –

+0

@ Mohamed-Yousef, ошибка указана в строке: «$ input.autocomplete (options);» в файле test.js. Когда я проверяю $ input в консоли, он возвращает «". При вводе «$ input.autocomplete (опции)»; в консоли он возвращает ошибку: «TypeError: undefined не является функцией» – Rob

ответ

3

Что является неопределенным, очевидно, .autocomplete Функция jQuery. Пожалуйста, посмотрите, что в разделе «Сценарии, загружаемые» ваш вопрос jQuery UI полностью отсутствует.

Вы правильно включили его в свой комплект, как "~/Scripts/jquery-ui-{version}.js", поэтому единственное возможное объяснение сбоя в том, что файл сценария jQuery UI отсутствует на этом маршруте (или что вы передаете пакет worng в своем макете или просмотреть код Razor).

+0

Не знаете, как я пропустил это. Большое спасибо за указание на это. – Rob

+3

Возможно, потому, что это первый рабочий день года, после какой-то вечеринки;) Это не редкость, что мы пытаемся найти проблему там, где это не так. Совет в следующий раз: когда вы получаете ошибку 'undefined', попробуйте выяснить, что такое' undefined'. Если вы получите эту ошибку в вызове функции, введите в консоль имя функции без круглых скобок, то есть '$ input.autocomplete', и вы получите' undefined' и обнаружите, что по какой-либо причине сама функция отсутствует – JotaBe

Смежные вопросы