Javascript django动态表单集显示;加上「;及;删除“;按钮放错地方了
我的应用程序昨天运行良好。在我开始在浏览器中使用.css属性之后,django dynamic formset脚本突然无法正常工作。它为表单中的每个输入显示“添加”和“删除”按钮,而不是为每一行显示。请看附件中的照片Javascript django动态表单集显示;加上「;及;删除“;按钮放错地方了,javascript,html,django,inline-formset,Javascript,Html,Django,Inline Formset,我的应用程序昨天运行良好。在我开始在浏览器中使用.css属性之后,django dynamic formset脚本突然无法正常工作。它为表单中的每个输入显示“添加”和“删除”按钮,而不是为每一行显示。请看附件中的照片 {% load crispy_forms_tags %} {% load staticfiles %} {% load static %} <table> {{ formset.management_form|crispy }} {% for form in
{% load crispy_forms_tags %}
{% load staticfiles %}
{% load static %}
<table>
{{ formset.management_form|crispy }}
{% for form in formset.forms %}
<tr class="{% cycle 'row1' 'row2' %} formset_row-{{ formset.prefix }}">
{% for field in form.visible_fields %}
<td>
{# Include the hidden fields in the form #}
{% if forloop.first %}
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
{% endif %}
{{ field.errors.as_ul }}
{{ field|as_crispy_field }}
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
<!-- <p class='btn btn-warning' id='agregar'>Agregar Posición</p> -->
<br>
<script type="text/javascript" src="{% static 'admin/js/vendor/jquery/jquery.js' %}"></script>
{{formset.media}}
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="{% static 'dynamic_formsets/jquery.formset.js' %}"></script>
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/admin/js/vendor/jquery/jquery.js"></script>
<!-- <script type="text/javascript">
$('#agregar').on('click',function(){
$('.formset-test').append()
});
</script> -->
<script type="text/javascript">
$('.formset_row-{{ formset.prefix }}').formset({
addText: 'Agregar posición',
deleteText: 'Borrar posición',
prefix: '{{ formset.prefix }}',
});
</script>`
{%load crispy_forms_tags%}
{%load staticfiles%}
{%load static%}
{{formset.management{u form|crispy}}
{formset.forms%%中表单的%
{%form.visible_fields%}
{#在#表单中包含隐藏字段}
{%if-forloop.first%}
{%用于隐藏在表单中。隐藏的_字段%}
{{隐藏}}
{%endfor%}
{%endif%}
{{field.errors.as_ul}}
{{field | as_crispy_field}
{%endfor%}
{%endfor%}
{{formset.media}
$('.formset_行-{{formset.prefix}}').formset({
addText:“Agregar posición”,
deleteText:“Borrar posición”,
前缀:“{formset.prefix}}”,
});
`
而且,它不尊重我所给的重命名(参见代码末尾的脚本)。显示的不是“Agregar Posicion”文本,而是默认的“Add other”。您遇到了一些不同的问题: 首先,直接在jQuery对象上调用.formset函数。根据,它需要包装在“on ready”函数中,例如:
<script type="text/javascript">
$(function() {
$('.formset_row-{{ formset.prefix }}').formset({
addText: 'Agregar posición',
deleteText: 'Borrar posición',
prefix: '{{ formset.prefix }}',
});
})
</script>
您应该只是将表单集从视图传递到模板,并作为模板引用它
{% for form in formset %}
{% for form in formset.forms %}
{% for form in formset %}