javascript - 带有动态数据目标的下拉列表中的嵌套可折叠复选框?
问题描述
使用 Bootstrap 4,我试图在Dropdown中实现这种结构
[] Level 1
[] Level 2
[] Level 3
其中项目是复选框输入并且是可折叠的。这是我正在尝试完成的最小工作示例:
<div class="dropdown">
<button id="dropdownButton' class='btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
Dropdown
</button>
<form class="dropdown-menu">
<ul id="level-1">
<li class="dropdown-item">
<label data-toggle="collapse" data-target="#level-2">
<input type="checkbox"> Level 1
</label>
<ul id="level-2" class="collapse">
<li class="dropdown-item">
<label data-toggle="collapse" data-target="#level-3">
<input type="checkbox"> Level 2
</label>
<ul id="level-3" class="collapse">
<li class="dropdown-item">
<label>
<input type="checkbox"> Level 3
</label>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</form>
</div>
我form
用来防止单击标签时关闭下拉菜单。问题似乎是data-target
和/或id
值是动态的(通过烧瓶上下文传递)。
例如:
<form class='dropdown-menu' aria-labelledby='{{ id }}' {% include 'fields/attrs.html' %}>
<ul id='level-1-{{ id }}'>
{% for title in dropdown_menu_items.values() %}
<li class='dropdown-item'>
<label class='form-check-label' data-toggle='collapse' data-target='#level-2-{{ id }}-{{ loop.index }}'>
<input class='form-check-input' {% if title.provider_title_id %}name='{{ name }}'{% endif %} type="checkbox" {% if title.provider_title_id %}value='{{ title.provider_title_id }}'{% endif %} {% if title.checked %}checked='checked'{% endif %} />{{ title.title }}
</label>
<ul id='level-2-{{ id }}-{{ loop.index }}' class='collapse'>
...
我进行了测试以确保它与静态值“有效”,例如level-2
andlevel-3
它确实有效。有没有办法解决这个问题,或者我只是错过了一些明显的东西?
id
TL;DR - 分配和data-target
通过烧瓶上下文时展开/折叠不起作用;只有level-1
元素是可见的。
解决方案
推荐阅读
- android - 如何只为我的 android 应用创建一次使用闪屏
- rust - Rust:将路径引入范围时使用“self”
- google-cloud-platform - 关闭 Google Cloud Memorystore?
- python - 模块“Crypto.publickey”没有属性 RSA
- javascript - React API fetch 返回一个空对象
- javascript - 根据点击的标签显示动态内容
- java - 找不到包导致编译失败
- entity-framework-core - 调用一个存储过程返回一个没有 DbSet 的数据集
- android - 无法使用在 url 中传递的源重定向 web 视图中的用户
- php - PHP过滤器数组在特定日期(RSS提要)之后/期间