Здравствуйте!
Автокомплит работает только для тех форм которые я проинитил в представлении. Когда я с помощью jquery добваляю новую форму получаю по функционалу обычный charfield (все классы необходимые для автокомплита ему присваиваются).
Код:
#Form
class RegionLookup(ModelLookup):
model = Region
search_fields = ('name_ru__icontains', 'name_en__icontains')
registry.register(RegionLookup)
class ProfileSettingsIncRegionForm(forms.Form):
include = AutoCompleteSelectField(required=False, label='', lookup_class=RegionLookup, widget=AutoCompleteSelectWidget(lookup_class=RegionLookup, attrs={'class': 'text small long include_region', 'placeholder': _('Choose region')}))
# include = forms.IntegerField(required=False, widget=forms.HiddenInput(attrs={'class': 'chosen_region'}), label='')
class Meta:
model = ProfileSettingsRegion
exclude = ('profile', 'name', 'exclude')
#template
{% load selectable_tags %}
{{ region_include_form_set.media }}
{{ region_exclude_form_set.media }}
{% block extrahead %}
{% endblock %}
В библиотеке jquery-ui-v1.10.2.js
this.each(function() {
var instance = $.data( this, fullName );
if ( instance ) {
instance.option( options || {} )._init();
} else {
$.data( this, fullName, new object( options, this ) );
}
});
в строке var instance = $.data( this, fullName ); в this хранится id свежесозданного элемента,
а в if ( instance ) {
в instance уже id предыдущего (проинициализированного в представлении).
blog comments powered by Disqus