私は今https://github.com/running-coder/jquery-typeaheadからの偉大なjqueryの先行入力プラグインを使用しています。事のモデルのための私のフォームは、クラスの後の方で....
class ThingShareCreateForm(forms.ModelForm):
helper = FormHelper()
helper.layout = Layout(
Div(
Div('mode', css_class='col-md-2'),
Div(Div(Field(Div(PrependedText('name', '<span class="fa fa-search"></span>'),
css_class='typeahead__query'),
css_class='typeahead__field'),
css_class='typeahead__container'),
css_class='col-md-5'),
あるメタは
class Meta:
model = ThingShare
fields = ['mode', 'name', 'source', 'source_text', 'date_from', 'date_to']
widgets = {
'name': forms.TextInput(attrs={'class': 'js-typeahead-name',
'name' : 'q',
'type' : 'search',
'autocomplete': 'off',
}),
これは、その後のように使用することができます。
typeof $.typeahead === 'function' && $.typeahead({
input: ".js-typeahead-name",
minLength: 1,
hint: false,
source: {
country: {
data: data.countries
},
},
callback: {
onClickAfter: function (node, a, item, event) {
event.preventDefault();
として偉大なドキュメンテーションと例に記載されています。このライブラリは詳しく見てみましょう。私はまだ私のモデル "Thing"で基本的に選択されたAJAX呼び出しを実装する必要があります。非常にシンプルになりました
よろしく
マイケル
私はあなたがjavascriptのルートを下に行かなければならないと思います。あなたの行をテンプレートのjsonオブジェクトとして利用可能にして、実際の先頭部分にjsプラグインを使用します。私は間違っていると証明されたいと思います。 –