2017-02-18 3 views
0

Я пытаюсь интегрировать автозаполнение JQuery UI, но мне не повезло. Я был успешным в реализации datepicker, поэтому я решил использовать тот же подход.Django forms.Form widgets и JQuery UI autocomplete

form.py

from django import forms 
from asset_db.models import Profiles 


class SubmitJob(forms.Form): 

    material_id = forms.CharField(max_length=8, widget=forms.TextInput(attrs={'class': 'autocomplete'})) 
    workflow = forms.ModelChoiceField(queryset=Profiles.objects.distinct('name'), to_field_name='name') 
    start_datepicker = forms.CharField(max_length=12, widget=forms.DateInput(attrs={'class': 'datepicker'})) 
    end_datepicker = forms.CharField(max_length=12, widget=forms.DateInput(attrs={'class': 'datepicker'})) 

submit.html

{% extends 'website/header.html' %} 
{% block content %} 
    <p><b>Submit Job</b></p> 
    <form action="{% url 'job' %}" method="post">{% csrf_token %} 
     <script> 
      $(document).ready(function() { 
       $('.datepicker').datepicker(); 
      }); 
     </script> 
     <script> 
      $(function() { 
      var availableTags = [ 
       "ActionScript", 
       "AppleScript", 
       "Asp", 
       "BASIC", 
       "C", 
       "C++", 
       "Clojure", 
       "COBOL", 
       "ColdFusion", 
      ]; 
      $("#material_id").autocomplete({ 
       source: availableTags 
      }); 
      }); 
     </script> 
     <p>{{ message }}</p> 
     <b>Select Asset to transcode</b> 
     {{form.as_p}} 
     <p> 
      <input type="submit" name="submit" /> 
     </p> 
    </form> 
{% endblock %} 

Цель состоит в том, чтобы заставить его работать со значениями по умолчанию, то я изменю их данных в модели. Любая идея, почему она не работает?

ответ

0

Я понял это, посмотрев исходный код, который создает шаблон.

мне пришлось изменить:

$("#material_id").autocomplete({ 
    source: availableTags 
}); 

в

$("#id_material_id").autocomplete({ 
    source: availableTags 
}); 

Это связано с {{form.as_p}} добавлением "id_" в именах переменных в form.py.