diff --git a/src/pretix/base/forms/questions.py b/src/pretix/base/forms/questions.py index 198641b8a3..7a732e21b6 100644 --- a/src/pretix/base/forms/questions.py +++ b/src/pretix/base/forms/questions.py @@ -452,14 +452,17 @@ class BaseQuestionsForm(forms.Form): types, form = COUNTRIES_WITH_STATE_IN_ADDRESS[cc] statelist = [s for s in pycountry.subdivisions.get(country_code=cc) if s.type in types] c += sorted([(s.code[3:], s.name) for s in statelist], key=lambda s: s[1]) + state = (cartpos.state if cartpos else orderpos.state) elif fprefix + 'state' in self.data: self.data = self.data.copy() + state = None del self.data[fprefix + 'state'] add_fields['state'] = forms.ChoiceField( label=pgettext_lazy('address', 'State'), required=False, choices=c, + initial=state, widget=forms.Select(attrs={ 'autocomplete': 'address-level1', }), diff --git a/src/pretix/static/pretixcontrol/js/ui/main.js b/src/pretix/static/pretixcontrol/js/ui/main.js index 1d287351db..092f3f83d8 100644 --- a/src/pretix/static/pretixcontrol/js/ui/main.js +++ b/src/pretix/static/pretixcontrol/js/ui/main.js @@ -343,7 +343,7 @@ var form_handlers = function (el) { $("select[name$=state]:not([data-static])").each(function () { var dependent = $(this), counter = 0, - dependency = $(this).closest("form").find('select[name$=country]'), + dependency = $(this).closest(".panel-body, form").find('select[name$=country]'), update = function (ev) { counter++; var curCounter = counter;