Django-dynamic-formset - 只有一个选择框可以工作

时间:2017-04-22 08:07:48

标签: jquery html django select formset

我正在使用Django-dynamic-formset创建模板,当我点击添加按钮时添加formset

在我的formset上有两个字段,一个是带有choice_option的CharField,另一个是CharField

当我点击添加按钮时,它正确添加了formset,我的第二个字段(没有choice_option的CharField)运行良好

但是在我的第一个字段(CharField with choice_option)上,只有第一个选择框有效,当我点击下面的另一个选择框时,第一个选择框被选中 This is what happens when I click 2nd or below select box 如何让每个选择框正常工作?

我的代码是这样的,我跟着https://github.com/elo80ka/django-dynamic-formset/blob/master/docs/usage.rst

提前致谢

<form>
    <table id="id_orders_table" border="0" cellpadding="0" cellspacing="0">
        <tbody>
            {% for inventory_form in inventory_formset %}
            <tr>
                <td>
                    {% if inventory_form.instance.pk %}{{ inventory_form.DELETE }}{% endif %} {{ inventory_form.inventory_type }}
                </td>
                <td>{{ inventory_form.inventory_description }}</td>
            </tr>
            {% endfor %}
        </tbody>
    </table>
    {{ inventory_formset.management_form }}

    <input type="submit" value="submit" />
</form>

<script src="{% static 'js/jquery.formset.js'%}"></script>
<script type="text/javascript">
    $(function() {
        $('#id_orders_table').formset({
            prefix: '{{ inventory_formset.prefix }}'
        });
    })
</script>

1 个答案:

答案 0 :(得分:1)

如果您使用materilizecss,它将起作用。或者任何cssframework。只是找到初始化选择框的方法。并创建一个函数来初始化select并在每次在formset中添加新行时调用它。 它可以通过将该函数传递给fomset来完成。我在下面提到了

function initialize_select(){
    $('select').material_select();

    }

    $(function() {
            $('#id_orders_table').formset({
                'prefix': '{{ inventory_formset.prefix }}',
                'added':initialize_select
            });
        })