无法发布表单,使用ajax进行自定义

时间:2016-05-01 17:28:41

标签: jquery python ajax django

我创建了一个带有一些选择的Django表单,它们相互依赖(用户在第一个选择(等级)中选择选项,并根据其值在第二个选择(主题)中获取一些值):

class AddTaskForm(forms.ModelForm):
    grade = forms.ModelChoiceField(queryset=Grade.objects.all())
    subject = forms.ModelChoiceField(queryset=Subject.objects.none())
    topic = forms.CharField(widget=forms.Textarea)
    ...

我通过ajax-request获取主题值并使用这样的主题动态更改select(抱歉打算在下一个块中,我是JS的新手并且不知道它是如何正确的):

$.each(data, function(key, value){
                    $('select[name=subject]').append('<option value="' +
                                                      key + '">' + value +'</option>');
                    });

但是当我点击“提交”按钮时,我收到了属于select的这条消息,我动态地改变了:

Select a valid choice. That choice is not one of the available choices.

我已经检查了html代码并且它完全相同,应该是标准格式。 我做错了什么以及如何以第二种形式动态获取值?

1 个答案:

答案 0 :(得分:0)

您必须从服务器发送所有主题值,然后ajax请求可以缩小选项范围。