【发布时间】:2012-11-18 17:17:24
【问题描述】:
我从 mysql 数据库中列出了一个很长的、至少 5 个级别的<ul> 列表。用户有机会对项目进行排序、将一个项目从一个列表拖放到另一个、重命名或删除。然后保存。
我使用 PHP 进行列表,使用 Javascript/Jquery 重新排列项目。
我的问题是将 ul li 元素拆分为数组的最佳方法是什么?拥有每个元素的父 id 很重要。
非常简化的示例代码:
<a href="#">Parent item name</a>
<ul data-level='0'>
<li>
<a href="#">Child item name</a>
<ul data-level='1'>
<li><a href="#">2nd level item 1</a></li>
<li><a href="#">2nd level item 2</a></li>
<li><a href="#">2nd level item 3</a></li>
<li><a href="#">2nd level item 4</a></li>
</ul>
</li>
</ul>
因此,“2nd level item 2”应该有它的父“子项名称”(它的 id 存储在其名称旁边的隐藏输入字段中)。
列表可以是任何级别,因为用户也可以添加其他级别。代码也必须处理 15 级列表。
我正在考虑通过 javascript 获取放置在每个 <li> 元素中的隐藏输入的值。 JQuery 能够获取孩子的数量。但这似乎不是最好的解决方案。
【问题讨论】:
-
具有父/子外键自关系的单个表,以及用于将该平面表转换为嵌套数组的适当服务器端代码,您可以对其进行 json 编码和发送?实际实现由 OP 决定。
标签: php jquery mysql list store