我有一个与items_budget相关的材料表。items_budget的表单需要将所有注册的材料作为一个组列出,并且在每个 旁边有两个字段,用于数量和价格。下面是我为渲染这件作品而编写的代码块:checkbox
checkbox
input
<strong>Materiais</strong>
{% for material in materials %}
<div class="checkbox">
<label>
<input type="checkbox" class="itemsbudget_material" name="cdg_itemsbudget_type[material]" value="{{ material.id }}"> {{ material.name }} -
</label>
<input type="hidden" class="itemsbudget_price_hidden" value="{{ material.price }}"/>
<input type="text" class="itemsbudget_quantity" name="cdg_itemsbudget_type[quantity]" placeholder="Qtd" size="3"/>x - R$
<input type="text" class="itemsbudget_price" name="cdg_itemsbudget_type[price]" value="0" size="3" readonly/>
</div>
{% endfor %}
我面临的问题可以在图像中看到。看左上图,你看到我已经标记了“材料C”,填写了数量,提交表格后,如第二张图所示,一切都很好。
但是,如果我对另一种材质执行相同的操作,如表格的最后一张图片所示,数量字段为 NULL。
这里发生的情况是,只有材料形式中的第一个寄存器是,比方说,“看到”。当我说“第一个寄存器”时,我指的是材料形式中最低的id,字面意思是 FIRST。如果我删除了“Material C”,那么“Material D”将是第一个,并且只能看到数量字段。
我试图在每个name
属性的末尾放置一对括号,但是通过这样做,页面被刷新并且没有任何内容被持久化,没有任何反应。
我尝试了许多不同的方法来渲染它。另外,我尝试将我的material
字段创建为一个集合,但我真的认为这不是解决方案,因为我必须在字段中输入id、数量和价格。我需要能够使用集合表单呈现完全类似的东西。
请我需要指导。如果您需要更多代码,我很乐意更新我的问题。谢谢你。