python - Python Flask 可折叠/可扩展动态表
问题描述
我正在用可折叠的行在烧瓶中构建一个表格。一行可能在其下方有几个元素,这些元素将在单击时全部折叠。如果我只是硬编码值,它可以正常工作,但是当我使用来自 python 字典的数据的循环填充表时,它不起作用。第一行的第一个孩子折叠而不是所有正确行的孩子折叠。下面应该有足够的代码来重现该问题。
elements
是一个字典,其中键是字符串,值是元组列表。
<table>
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
</tr>
</thead>
{%for k, v in elements.items()%}
<tbody>
<tbody class="labels">
<tr>
<td colspan="5">
<label for="i">{{k}}</label>
<input type="checkbox" name="i" id="i" data-toggle="toggle">
</td>
</tr>
</tbody>
{%for desc in v%}
<tbody class="hide">
<tr>
<td>{{desc[0]}}</td>
<td>{{desc[1]}}</td>
<td>{{desc[2]}}</td>
<td>
<button>trigger</button>
</td>
<td>{{desc[3]}}</td>
</tr>
</tbody>
{% endfor %}
</tbody>
{% endfor %}
<script>
$(document).ready(function() {
$('[data-toggle="toggle"]').change(function(){
$(this).parents().next('.hide').toggle();
});
});
</script>
解决方案
<label for="i">{{k}}</label>
<input type="checkbox" name="i" id="i" data-toggle="toggle">
意外没有更改 for、name、id 字段。
需要将它们更新为变量,所以看起来像
<label for={{k}}>{{k}}</label>
<input type="checkbox" name={{k}} id={{k}} data-toggle="toggle">
推荐阅读
- python - 当我在 python 函数中传递可变参数时,第一次更新它返回预期的输出但不同的参数是一个意外的 O./P
- laravel - 不显示具有特定 id 的事件(id 数组)
- python - re.escape 的正则表达式匹配问题
- visual-studio-code - vcpkg 在 VS 代码中安装
- python - 如何使用 Azure 数据工厂活动实现一些 python 函数?
- django - 使用自定义身份验证时如何为 Firebase 编写安全规则?
- python - Python 中的导入:一些问题
- python - 为什么 Cloudinary 上的图像不显示?
- python - Python 列表按键查找值
- vue.js - 在vue中成功保存数据时的成功消息