"addAutoComplete не определен", отлично, но с помощью jQuery js это определяет? - PullRequest
0 голосов
/ 10 ноября 2011

Эта (вероятно, легко решаемая) проблема появлялась и исчезала некоторое время.

Мы разрабатываем веб-приложение Django, использующее AutoCompleteWidget.

Мы продолжаем получать следующую ошибкув Firebug

«addAutoComplete не определено»

Конечно, автозаполнение не работает так, как мы хотим в форме.

Я понимаю, что есть пространство имен и включениеПравильные соображения относительно файла javascript.

Мой главный вопрос сейчас:

Какой файл jquery * .js следует включить, чтобы получить определение 'addAutoComplete'?

Спасибо.

PS сгенерированный рассматриваемый HTML-код:

<input type="text" name="department" id="id_department" value="" maxlength="Department" />
<script type="text/javascript">//<![CDATA[
jQuery(document).ready(function($){
    addAutoComplete("id_department", function(html_id) {
        $("#"+html_id).autocomplete({
            minLength: 1,
            source: '/ajax_select/ajax_lookup/ucddept',
            initial: '',
            select: function(event, ui) {
                $("#"+html_id).val(ui.item.value);
                $("#"+html_id).trigger("added");
                return false;
            }
        }).autocompletehtml();
    });
});
//]]>
</script> 

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

Я предполагаю, что под "AutoCompleteWidget" вы подразумеваете приложение Django Ajax Select, представленное здесь: https://github.com/crucialfelix/django-ajax-selects.

Функция addAutoComplete, которую вы пропустили, определена в static / js / ajax-selectФайл .js внутри приложения.Если он не включен в отображаемую страницу, возможно, это потому, что вы неправильно установили переменную AJAX_SELECT_INLINES в файле settings.py.Этот параметр указывает приложению, как оно должно включать файл.

Проверьте запись settings.py в README источника для получения дополнительной информации.https://github.com/crucialfelix/django-ajax-selects/blob/master/README.md.

Действительно, внимательно прочитайте весь этот документ, если вы еще этого не сделали.

2 голосов
/ 10 ноября 2011

Правильно написанный плагин jQuery не определит глобальную функцию addAutoComplete.

Попробуйте это.Это будет работать, если вы включите jQuery UI:

$("#id_department").autocomplete({
    minLength: 1,
    source: '/ajax_select/ajax_lookup/ucddept',
    initial: '',
    select: function(event, ui) {
        var $this = $('#id_department');
        $this.val(ui.item.value);
        $this.trigger("added");
        return false;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...