我向用户显示此表单中的下拉列表:
class CronForm(forms.Form):
days = forms.ModelChoiceField(queryset=Day.objects.all().order_by('day'))
class Day(models.Model):
day = models.CharField(max_length=200, default='')
month = models.CharField(max_length=200, default='')
def __unicode__(self):
return self.day
它以这种方式显示在模板上:
<form method="post" onchange=change()>
{{ days }}
</form>
我想要的是当用户从下拉列表中选择一个选项时提交此表单。例如,用户可以被重定向到新的URL,并且程序内部将捕获POST数据。但我找到的所有内容都与<select>
标记有关,就像在select元素的更改上调用javascript函数一样。但由于select元素是ModelChoiceField形式,我不知道该怎么做。
任何帮助将非常感谢!
答案 0 :(得分:13)
在此link
之后解决了days = forms.ModelChoiceField(queryset=Day.objects.all().order_by('alias'), widget=forms.Select(attrs={"onChange":'refresh()'}))
答案 1 :(得分:2)
使用firebug查找下拉列表的id
。它应该是id_days
,因为您使用的是名称days
。然后将jQuery change
事件绑定到它。
$(function(){
$('#id_days').change(function(){
$('#id_of_form').submit();
});
});