2011-11-09 36 views
0

這個(可能很容易解決)的問題已經出現並消失了一段時間。「addAutoComplete沒有定義」,很好,但用jQuery js定義了它?

我們正在開發一個使用AutoCompleteWidget的Django Web App。

我們不斷收到以下錯誤在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> 
+0

http://jqueryui.com/demos/autocomplete/ –

回答

2

沒有正確寫入jQuery插件將定義一個全局函數addAutoComplete

試試這個。

$("#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; 
    } 
}); 
+0

感謝您的信息,並請接受我的歉意,因爲我遲遲不回覆。 –

2

我假設以「AutoCompleteWidget」,你的意思是Django的阿賈克斯選擇應用,這裏提供:https://github.com/crucialfelix/django-ajax-selects如果包括jQuery UI的它將工作。

缺少的addAutoComplete函數是在應用程序中的靜態/ js/ajax-select.js文件中定義的。如果它未包含在您的呈現頁面中,可能是因爲您沒有正確設置您的settings.py文件中的AJAX_SELECT_INLINES變量。該設置告訴應用程序應該如何包含文件。

查看settings.py條目的源自述文件以獲取更多信息。 https://github.com/crucialfelix/django-ajax-selects/blob/master/README.md

真的,如果您還沒有完整閱讀整個文檔。

+0

謝謝,我願意,這個項目很像是想從別人的流水中喝一杯水。所以請接受我對我表現出的無知的話題的道歉。我現在將重新閱讀整個文檔。 –

相關問題