【发布时间】:2017-07-18 09:43:28
【问题描述】:
所以我在 Django 中编程,我希望使用 Choice 字段的值出现一个新字段。 所以我在我的 Html 模板中有这个
<script type="text/javascript">
$( document ).ready(function() {
if( $('#{{clinic_details.parity}}' == 'AtleastOne' ) ){
$('#paritefield').show();
}else{
$('#paritefield').hide();
}
});
</script>
<div class="form-group">
<div id="require">
{% csrf_token %}
{{ clinic_details.as_p}}
{{ ClinicForm.}}
</div>
</div>
<div class="form-group">
<div id="paritefield">
{{ parityfield.as_p }}
</div>
</div>
在 forms.py 我有
class ClinicForm(forms.Form):
SELECT_ETHNICITY = (('1','Europe and North Africa'),('2','East-Asian'),)
origin = forms.ChoiceField(widget=forms.Select,
choices=SELECT_ETHNICITY, label ="Origin")
SELECT_DIABETE = (('1','None'),('2','Not documented'),)
diabete = forms.ChoiceField(widget=forms.Select,
choices=SELECT_DIABETE, label ="Diabetes")
SELECT_PARITY = (('None','None'),('AtleastOne','At least One'),)
parity = forms.ChoiceField(widget=forms.Select,
choices=SELECT_PARITY, label ="Parity")
fields = ['origin', 'diabete',]
class ParityfieldForm(forms.Form):
SELECT_PARITYFIELD = (('1','None'),('2','Not documented'),)
parityfield= forms.ChoiceField(widget=forms.Select, choices=SELECT_DIABETE, label ="Parity field")
最后在 view.py 我有
def form_view(request):
clinic_details = ClinicForm(request.POST or None)
parityfield = ParityfieldForm(request.POST or None)
title="Form"
if clinic_details.is_valid():
fsv = clinic_details.save(commit=False)
return render(request,"template.html",{"clinic_details":clinic_details, "parityfield":parityfield, "title": title})
So I want that when the value of the Choice field parity is 'AtleastOne' it shows another field but without refreshing the page, Thanks to Jquery.
【问题讨论】:
标签: javascript jquery python django