如何解决如何隐藏除Django模板中单击的表单集以外的表单集中的所有表单
我是Django的新手。我最近开始使用Django-formset,在Django-formset中有12个表单,每个表单至少有20个字段。我的要求是进行用户友好的设计。我决定连续制作12个与每个表格相对应的按钮,最初所有表格都将被隐藏。当我单击一个按钮时,假设第一个按钮,则只有与该按钮相对应的表单才会显示在同一页面中,其余表单将隐藏。如果用户再次单击同一按钮,则该表单应折叠;如果用户单击其他按钮,则应显示与该按钮相对应的表单,而其他表单应隐藏。
经过大量在线阅读后,我找不到解决此问题的方法,但我知道我需要使用jQuery或javaScript来解决此问题。
这是我到目前为止尝试过的方法,但是它只会隐藏/显示我单击的表单,而不会影响其他表单。
<form action="{% url 'my_formset' %}" method="POST">
{% csrf_token %}
{{ formset.management_form }}
{{ formset.non_form_errors.as_ul }}
<h4> Time </h4>
{% for form in formset %}
<a id="{{forloop.counter}}-btn" class="btn btn-success mt-2">{{ form.time.value }}</a>
<br>
<div id="form1">
<div class="row mt-1" id="{{forloop.counter}}form">
{% for field in form %}
<div class="col-xs-6 col-sm-4 col-md-3 col-lg-2">
{{ field | as_crispy_field }}
</div>
{% endfor %}
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#{{forloop.counter}}-btn").click(function () {
$("#{{forloop.counter}}form").toggle();
});
});
</script>
{% endfor %}
<br>
<div class="text-center">
<input type="submit" class="btn btn-success text-center" value="Save">
</div>
<br>
</form>
我想进行动态设计,而不必在任何地方用html代码硬编码形式的数量。 任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。