gpt4 book ai didi

python - Django 表单 ChoiceField 依赖于另一个 ChoiceField

转载 作者:行者123 更新时间:2023-11-28 19:21:36 26 4
gpt4 key购买 nike

我有以下表格:

class MyForm(forms.Form):
country = forms.ChoiceField(
widget = forms.Select()
)

region = forms.CharField(
widget = forms.Select()
)

def update_region(self):
self['region'].field.widget.choices = get_choices_for_region(
self['region'].field.initial)

区域选择取决于国家选择。我有一个 ajax 例程来更新所选国家/地区的区域。我为该区域使用了 CharField,因此它将正确验证。

实际上我在我的 View 中用数据预填充了表单:

myform['country'].field.initial = 'Switzerland'
myform.update_region()
return ...

问题:有没有办法强制区域选择随着国家更新自动更新?

最佳答案

我最近碰巧遇到了类似的问题(并且在这上面浪费了比我希望的更多的时间)。为了加快流程,我首先在页面加载时在 View 中创建了国家/地区列表。然后,在小 Jquery Magic 的帮助下,您可以根据所选的国家/地区字段动态设置区域字段。

这里还有一个简单的实现,可以实现您在 link 中寻找的内容.

还有一个更好的替代方法,可以在每次更改国家字段(以获取所选国家/地区的区域字典列表,我们称之为 regions_for_country)时调用 AJAX 来更新区域选项。在完成部分工作的 Jquery 中找到以下代码段。

var html = $.map(regions_for_country, function(item){
return '<option value="' + item['key'] + '">' + item['value'] + '</option>'
}).join('');

这将为选项生成 html 代码,您可以使用 .html() 轻松替换这些选项。命令。我更喜欢最后一种方法,因为在前面的方法中我们浪费时间生成国家/地区的键值对,这对大数据集来说可能是有害的。

关于python - Django 表单 ChoiceField 依赖于另一个 ChoiceField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23808779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com