0
所以我在Django中進行編程,我希望在Choice字段的值中出現一個新字段。 所以我在HTML中Jquery Django使用字段的值添加字段(或隱藏並顯示)
<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})
所以我想這當Choice字段奇偶校驗的值是'AtleastOne'時,它會顯示另一個字段,但不刷新頁面,感謝Jquery。
謝謝!但它似乎並不奏效。如果我想要一個ChoiceField的結果,我只需要做form.field而不是form.field.value或其他東西是正確的? – Anisotropie