【发布时间】:2015-10-10 11:31:15
【问题描述】:
我正在使用 jQuery Nestable 插件 为网站创建菜单编辑器。 在用户单击菜单项并更改其位置后,我尝试获取项目 ID 和 Children。
问题:我不知道如何获取 ID 和 Children 并更新到数据库中。
这里是 jQuery Nestable 插件
<script>
$(document).ready(function () {
var updateOutput = function (e) {
var list = e.length ? e : $(e.target), output = list.data('output');
if (window.JSON) {output.val(window.JSON.stringify(list.nestable('serialize')));//, null, 2));
} else {
output.val('JSON browser support required for this demo.');
}
console.log(list.nestable('serialize'));
console.log(window.JSON.stringify(list.nestable('serialize')));
};
$('#nestable').nestable({
group: 1,
maxDepth: 7,
}).on('change', updateOutput);
updateOutput($('#nestable').data('output', $('#nestable-output')));
});
</script>
这里是菜单的 HTML
<div class="cf nestable-lists">
<div class="dd" id="nestable">
<ol class="dd-list">
<li class="dd-item" data-id="1"> <div class="dd-handle">Item 1 when parent == 0</div> </li>
<li class="dd-item" data-id="44"> <div class="dd-handle"> Item 2 when this parent_id == its id </div>
<ol class="dd-list">
<li class="dd-item" data-id="3"><div class="dd-handle">Item 3</div></li>
<li class="dd-item" data-id="4"><div class="dd-handle">Item 3</div></li>
<li class="dd-item" data-id="5"><div class="dd-handle">Item 3</div></li>
<li class="dd-item" data-id="6"><div class="dd-handle">Item 3</div></li>
</ol>
</li>
</ol>
</div>
</div>
控制台
上的结果[{"id":1},{"id":44,"children":[{"id":3},{"id":4},{"id":5},{"id":6}]}]
版本
在我的结构中,我想在 Parent_id == id where menus id 和创建级别时更新菜单M_order 的菜单项数量。但我不知道要创建这个结构。
这里是 var_dump($this->input->post('list'));
1 =>
array (size=1)
'id' => string '2' (length=1)
2 =>
array (size=1)
'id' => string '3' (length=1)
3 =>
array (size=1)
'id' => string '4' (length=1)
4 =>
array (size=1)
'id' => string '5' (length=1)
5 =>
array (size=2)
'id' => string '6' (length=1)
'children' =>
array (size=1)
0 =>
array (size=2)
...
这是我的表格结构和菜单的图片
【问题讨论】:
-
您当前用于从数据库存储/检索此数据的 PHP 文件是什么样的?保存这些信息的数据库表的结构是什么?什么是数据库供应商、MSSQL、MySQL?
-
我不知道用 PHP 做什么,我也如何找到 Id 和孩子,以及当用户更改项目位置时如何更新 m_order
-
此要求使您的问题过于宽泛。 Stackoverflow 是一个问答网站,希望你先自己尝试,当你遇到困难时,你可以提出具体的问题。查看How to ask 帮助页面。话虽如此,这看起来有点有趣,所以我继续编写了一个 PHP 脚本来保存每次更改的排序。但这是一个通用实现,您可能需要对其进行调整以使其适用于您的页面。我已经编辑了我的答案以包含它,请查看。
标签: javascript php jquery codeigniter jquery-plugins