我正在开发一个带有嵌套复选框的界面。这个想法是所有“顶级”复选框都会出现,然后一旦被选中,它的子项目就会出现,而所有其他顶级复选框都会消失。
- Checkbox 1
- Checkbox 2
当您选择复选框 2 时:
X Checkbox 2
- Checkbox 2.1
- Checkbox 2.2
我可以处理样式和 JS,但我真的坚持最好的标记。这是我现在的想法:
<fieldset>
<legend>My Checkboxes</legend>
<ul>
<li>
<input type="checkbox" name="my-checkboxes" id="checkbox1"><label for="checkbox1">Checkbox #1</label>
<ul class="subfields">
<li>
<input type="checkbox" name="my-checkboxes" id="checkbox1.1"><label for="checkbox1-1">Checkbox #1.1</label>
</li>
<li>
<input type="checkbox" name="my-checkboxes" id="checkbox1.2"><label for="checkbox1-2">Checkbox #1.2</label>
</li>
</ul>
</li>
<li>
<input type="checkbox" name="my-checkboxes" id="checkbox2"><label for="checkbox2">Checkbox #2</label>
<ul class="subfields">
<li>
<input type="checkbox" name="my-checkboxes" id="checkbox2.1"><label for="checkbox2-1">Checkbox #2.1</label>
</li>
<li>
<input type="checkbox" name="my-checkboxes" id="checkbox2.2"><label for="checkbox2-2">Checkbox #2.2</label>
</li>
</ul>
</li>
</ul>
</fieldset>
在某些方面,这感觉像是使用嵌套fieldset
s 的好时机,但 HTML 规范明确不鼓励这样做。