Django Dynamic formset内联表单jQuery选择器错误

时间:2018-11-08 02:41:57

标签: javascript jquery django django-forms formset

我正在使用

https://github.com/elo80ka/django-dynamic-formset/blob/master/src/jquery.formset.js

具有以下默认值:

<script src="{% static 'flights/jquery.formset.js' %}"></script>
<script type="text/javascript">
    $(function() {
        $('#approach_form table tr').formset({
            prefix: 'approach_set',
            formCssClass: 'approach-formset'
        });
    })
</script>

表单html:

<div class="form-group">
  <div class="input-group-sm">
    <label class="text-muted">Approaches</label>
    <div class="form-control pl-4 pt-2">
      {% for formset in inlines %}
          {% for form in formset %}
            {{ form.id }}
            <div id="approach_form" class="row">
              {{ form.errors }}
              <table>
                <tr>
                  <td>{{ form.approach_type }}</td>
                  <td>{{ form.number }}</td>
                  <td>{% if form.instance.pk %}{{ form.DELETE }}{% endif %}</td>
                </tr>
            </table>
           </div>
          {% endfor %}
          {{ formset.management_form }}
      {% endfor %}
    </div>
  </div>
</div>

创建视图正确呈现,但是我的更新视图执行此操作:

enter image description here

渲染的HTML:

<div id="approach_form" class="row">

              <table>
                <tbody><tr class="approach-formset">
                  <td><select name="approach_set-0-approach_type" id="id_approach_set-0-approach_type">
  <option value="">---------</option>

  <option value="ILS">ILS</option>

  <option value="CATII">CAT II</option>

  <option value="CATIII">CAT III</option>


</select></td>
                  <td><input type="number" name="approach_set-0-number" value="2" min="0" id="id_approach_set-0-number"></td>
                  <td><input type="hidden" name="approach_set-0-DELETE" id="id_approach_set-0-DELETE"><a class="delete-row" href="javascript:void(0)">Remove</a></td>
                </tr>
            <tr class="approach-formset-add"><td colspan="3"><a class="add-row" href="javascript:void(0)">Add</a></td></tr></tbody></table>
           </div>

就像我说的那样,CreateView可以正确呈现,没有2个额外的“添加”行,但是此UpdateView添加了额外的2个“添加”链接。

预先感谢您抽出宝贵的时间对此进行研究。

0 个答案:

没有答案