This is an adaptation of the Andrew Javascript solution using Django forms, as you usually expected.
Form in Django / Python:
class SearchForm(forms.Form): type = forms.ChoiceField(choices = ((1, 'One'), (2, 'Two')))
A template assuming that the SearchForm instance SearchForm passed to the template context named "form":
<script> function Hide() { if(document.getElementById('id_type').options[document.getElementById('id_type').selectedIndex].value == "1") { document.getElementById('id_list1').style.display = 'none'; document.getElementById('id_list2').style.display = ''; } else { document.getElementById('id_list1').style.display = ''; document.getElementById('id_list2').style.display = 'none'; } } window.onload = function() { document.getElementById('id_type').onchange = Hide; }; </script> <div> {{ form.type.label_tag }}{{ form.type }} </div> <div> {{ form.list1.label_tag }}{{ form.list1 }} </div> <div> {{ form.list2.label_tag }}{{ form.list2 }} </div>
source share