私は今、さまざまなカテゴリとさまざまな親IDを持つWebショップを作成するのに忙しいです。私のデータベース構造は次のとおりです。
id-name-parentid:
1-ゲーム-0
2-映画-0
3-タイプ-1
4-タイプ-2
5-アクション-3
6-歴史-4
カテゴリを追加するときの管理部分で、すべてのカテゴリをドロップダウンに表示したいのですが、親と子を分離したいと思います。これを行う簡単な方法はありますか?
あいさつエリック
「親 ID と子 ID を分離したい」という意味がよくわかりません。の要素はselect
表示値とデータ値にすぎず、データ値はフィールド名とともにサーバーに送信されるものであることを理解してください。
そのselect
ため、複数の種類のデータ値を実際に区別することはできません。option
たとえば、それぞれが複数の ID を持つことはできません。できることは、表示値をフォーマットして ID (「1 - games - 0」など) を含めoption
、select
.
できることの 1 つは、タグを使用して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>
検証では、ブラウザはユーザーがグループを選択できるようにすべきではなく、実際のオプションを選択する必要があります。ですから、それについて心配する必要はありません。これにより、値をより階層的に表示する際の柔軟性が向上します。ただし、この場合、オプションのネストは 1 レベルしか許可されないことに注意してください。(したがって、optgroup
に別の を含めることはできませんoptgroup
。)