1

感谢您花时间考虑我的问题。我正在创建一个界面,允许用户基本上使用 UL 和 LI 标签制作类别列表。然后我通过 PHP 将这些信息存储在 MySQL 数据库中,这样就可以对其进行检索并维护格式。我已经解决了 PHP 方面的问题,并从数据库中提取了树并对其进行了格式化。我遇到问题的部分是通过表单提交保存列表,并以可以循环遍历所有数据并知道父/子关系的方式将其传递给 PHP。

列表的示例可能如下所示:

<ul>
<li>FAQ
    <ul>
        <li>Installing SynergiesMOD</li>
        <li>Updating SynergiesMOD</li>
        <li>Mod Not Working</li>
    </ul>
</li>
<li>Characters
    <ul>
        <li>Necromancer
            <ul>
                <li>Moves</li>
                <li>Guides</li>
            </ul>
        </li>
        <li>Warlock
            <ul>
                <li>Moves</li>
                <li>Guides</li>
            </ul>
        </li>
    </ul>
</li>
</ul>

此列表是完全可编辑的,因此任何特定内容都可以在提交到 PHP 代码进行解析和存储在数据库中之前进行移动、删除或添加新类别。我绞尽脑汁,想不出一种在将数据传递给 PHP 时在保持家庭关系的同时遍历类别的方法。如果你们中的任何人有任何想法或建议,我将不胜感激。

4

2 回答 2

1

您还没有完全描述您将如何编辑列表中的每个项目。我想我会通过在每个项目上包含每个项目的 ID 的超链接来做到这一点,并用下划线连接,例如

1  FAQ
2  Characters

1_1 InstallingSynergiesMOD
1_2 UpdatingSynergiesMOD
1_3 Mod Not Working
2_1 Necromancer
2_2 Warlock

2_1_1 Moves
2_1_2 Guides

2_2_1 Moves
2_2_2 Guides

我假设层次结构中的每个项目都有一个关联的 id。

当您单击超链接时,您可以显示相同的层次结构,但列表项被替换为 NAME="x_y" 的 INPUT 字段。如果按下 Ok 按钮(或其他),这将导致 FORM 与字段的数据一起提交。您传递字段的名称以获取 ID,然后使用新值更新您的数据库。最后打印出新列表。

当然,您可以使用 JSON/XML XMLHttpRequest 而不是使用 FORM 来做同样的事情。

于 2013-04-24T22:24:53.873 回答
0

每个都li应该有一个nodeId(可能是idli),然后您需要parentNodeId在 javascript 中计算 a,引用其父级,以保持层次关系

于 2013-04-24T22:15:08.987 回答