我现在正忙着做一个不同类别的网上商店,还有不同的家长ID。我的数据库结构如下:
ID -名称 - 父 ID:
1 - 游戏 - 0
2 - 电影 - 0
3 - 类型 - 1
4 - 类型 - 2
5 - 动作 - 3
6 - 历史 - 4
现在在管理部分,当我想添加一个类别时,我想在下拉列表中显示我的所有类别,但我希望将父级和子级分开。有没有简单的方法可以做到这一点?
问候埃里克
我不确定"希望将父 ID 和子 ID 分开"是什么意思。 了解select
中的元素只不过是显示值和数据值,数据值将与字段名称一起发送到服务器。
因此,select
无法真正区分多种数据值。 例如,每个option
不能有多个 ID。 您所能做的就是设置显示值的格式以包含 ID(例如"1 - 游戏 - 0"等),并确定哪个数据值应该是select
中该option
的值。
您可以做的一件事是使用 optgroup
标记对option
元素进行分组。 像这样:
<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
。