我现在正忙于制作一个具有不同类别以及不同父 ID 的网上商店。我的数据库结构如下:
id - 姓名 - 父母 ID:
1 - 游戏 - 0
2 - 电影 - 0
3 - 类型 - 1
4 - 类型 - 2
5 - 行动 - 3
6 - 历史 - 4
现在在管理部分中,当我想添加一个类别时,我想在下拉列表中显示我的所有类别,但我希望将父级和子级分开。是否有捷径可寻?
问候埃里克
我不确定您所说的“希望将父 ID 和子 ID 分开”是什么意思。了解 a 中的元素select
只不过是一个显示值和一个数据值,而数据值将与字段名称一起发送到服务器。
所以select
不能真正区分多种数据值。例如,每个option
人都不能有多个 ID。您所能做的就是格式化您的显示值以包含 ID(例如您使用“1 - 游戏 - 0”等),并决定哪个数据值应该option
是select
.
您可以做的一件事是使用标签option
对元素进行分组。像这样的东西:optgroup
<select name="myOptions">
<optgroup label="Category 1">
<option value="1">First Choice</option>
<option value="2">Second Choice</option>
<option value="3">Third Choice</option>
</optgroup>
<optgroup label="Category 2">
<option value="4">Fourth Choice</option>
<option value="5">Fifth Choice</option>
</optgroup>
<optgroup label="Category 3">
<option value="6">Sixth Choice</option>
<option value="7">Seventh Choice</option>
</optgroup>
</select>
在验证中,浏览器不应该允许用户选择一个组,他们必须选择一个实际的选项。所以你不应该担心这个。这确实为更分层地显示您的值提供了一些额外的灵活性。但是,请理解在这种情况下只允许一级选项嵌套。(所以一个optgroup
不能包含另一个optgroup
。)