Javascript 如何进行自动编译?

Javascript 如何进行自动编译?,javascript,jquery,python,ajax,django,Javascript,Jquery,Python,Ajax,Django,我有两个字段的表单 第一个字段user\u characteristic是СhoiseField,第二个字段description是simpleTextarea 当用户从第一个字段中选择某个值时,我希望自动完成第二个字段 我使用jQueryUI自动完成。在下面你可以看到我的代码。我哪里做错了 forms.py: RequirementForm(forms.ModelForm): class Meta: model = Requirement fields

我有两个字段的表单

第一个字段
user\u characteristic
СhoiseField
,第二个字段
description
是simple
Textarea

当用户从第一个字段中选择某个值时,我希望自动完成第二个字段

我使用jQueryUI自动完成。在下面你可以看到我的代码。我哪里做错了

forms.py:

RequirementForm(forms.ModelForm):
    class Meta:
        model = Requirement
        fields = ('user_characteristic', 'description',)
        widgets = {
            'user_characteristic': forms.Select(attrs={'class': 'form-control', 'id': 'user-characteristic',}),
        }

    def __init__(self, *args, **kwargs):
        super(RequirementForm, self).__init__(*args, **kwargs)
        self.fields['user_characteristic'] = forms.ChoiceField(
            choices=[(x.user_symbol, x.user_class) for x in UserCharacteristic.objects.all()],
        )
        self.fields['description'].widget = Textarea(attrs={'class': 'form-control', 'id': 'description',})
def requirement_autocomplete(request):
    if request.is_ajax():
        word = request.GET.get('term', '')
        user_characteristics = UserCharacteristic.objects.filter(user_class__icontains=word)
        results = []
        for user_characteristic in user_characteristics:
            user_characteristic_json = {
                'id': user_characteristic.id,
                'label': user_characteristic.user_class,
                'value': user_characteristic.user_class,
                'user_characteristic_description': user_characteristic.user_symbol + ' – Варианты использования для роли ' + user_characteristic.user_description
            }
            results.append(user_characteristic_json)
        data = json.dumps(results)
    else:
        data = 'fail'
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)
$("#user-characteristic").autocomplete({
   source: "/requirement_autocomplete/",
   minLength: 0,
   select: function( event, ui ){
      $("#user-characteristic").val(ui.item.value);
      $("#description").val(ui.item.user_characteristic_description);
       return false;
    }
});
视图。py:

RequirementForm(forms.ModelForm):
    class Meta:
        model = Requirement
        fields = ('user_characteristic', 'description',)
        widgets = {
            'user_characteristic': forms.Select(attrs={'class': 'form-control', 'id': 'user-characteristic',}),
        }

    def __init__(self, *args, **kwargs):
        super(RequirementForm, self).__init__(*args, **kwargs)
        self.fields['user_characteristic'] = forms.ChoiceField(
            choices=[(x.user_symbol, x.user_class) for x in UserCharacteristic.objects.all()],
        )
        self.fields['description'].widget = Textarea(attrs={'class': 'form-control', 'id': 'description',})
def requirement_autocomplete(request):
    if request.is_ajax():
        word = request.GET.get('term', '')
        user_characteristics = UserCharacteristic.objects.filter(user_class__icontains=word)
        results = []
        for user_characteristic in user_characteristics:
            user_characteristic_json = {
                'id': user_characteristic.id,
                'label': user_characteristic.user_class,
                'value': user_characteristic.user_class,
                'user_characteristic_description': user_characteristic.user_symbol + ' – Варианты использования для роли ' + user_characteristic.user_description
            }
            results.append(user_characteristic_json)
        data = json.dumps(results)
    else:
        data = 'fail'
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)
$("#user-characteristic").autocomplete({
   source: "/requirement_autocomplete/",
   minLength: 0,
   select: function( event, ui ){
      $("#user-characteristic").val(ui.item.value);
      $("#description").val(ui.item.user_characteristic_description);
       return false;
    }
});
javascript:

RequirementForm(forms.ModelForm):
    class Meta:
        model = Requirement
        fields = ('user_characteristic', 'description',)
        widgets = {
            'user_characteristic': forms.Select(attrs={'class': 'form-control', 'id': 'user-characteristic',}),
        }

    def __init__(self, *args, **kwargs):
        super(RequirementForm, self).__init__(*args, **kwargs)
        self.fields['user_characteristic'] = forms.ChoiceField(
            choices=[(x.user_symbol, x.user_class) for x in UserCharacteristic.objects.all()],
        )
        self.fields['description'].widget = Textarea(attrs={'class': 'form-control', 'id': 'description',})
def requirement_autocomplete(request):
    if request.is_ajax():
        word = request.GET.get('term', '')
        user_characteristics = UserCharacteristic.objects.filter(user_class__icontains=word)
        results = []
        for user_characteristic in user_characteristics:
            user_characteristic_json = {
                'id': user_characteristic.id,
                'label': user_characteristic.user_class,
                'value': user_characteristic.user_class,
                'user_characteristic_description': user_characteristic.user_symbol + ' – Варианты использования для роли ' + user_characteristic.user_description
            }
            results.append(user_characteristic_json)
        data = json.dumps(results)
    else:
        data = 'fail'
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)
$("#user-characteristic").autocomplete({
   source: "/requirement_autocomplete/",
   minLength: 0,
   select: function( event, ui ){
      $("#user-characteristic").val(ui.item.value);
      $("#description").val(ui.item.user_characteristic_description);
       return false;
    }
});

为什么不使用一些LIB,例如:?@vanadium23你好!谢谢你的链接。我需要根据第一个字段(ChoiceField)中选定项的值自动完成第二个字段(Textarea)。这个库有可能吗?你能给我举个小例子吗。似乎这个库只在admin中工作。这是真的吗?请检查这个答案你可以使用django自动完成灯