weixin_33670786 2017-05-09 13:01 采纳率: 0%
浏览 23

如何制作自动完成功能?

I have form with 2 fields.

First field user_characteristic is СhoiseField and the second field description is simple Textarea.

I want autocomplate second field when user select some value from first field.

I use JQuery UI autocomplete. Here below you can see my code. Where I did mistake?

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',})

views.py:

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)

javascript:

$("#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;
    }
});
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 宇视监控服务器无法登录
    • ¥15 PADS Logic 原理图
    • ¥15 PADS Logic 图标
    • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
    • ¥20 气象站点数据求取中~
    • ¥15 如何获取APP内弹出的网址链接
    • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
    • ¥50 STM32单片机传感器读取错误
    • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
    • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)