【发布时间】:2018-01-14 04:17:10
【问题描述】:
我正在使用来自 Sortable items and subitems in list on jQuery ui sortable 的解决方案,一切都应该是这样,我唯一不明白该怎么做就是序列化它们,以便我可以相应地修改数据库。
https://jsfiddle.net/5zwgx45q/
我根本不懂 jQuery 或 JavaScript,所以这对我来说简直就是一片丛林。
我正在使用以下代码在其他地方实现我想要的。
$(document).ready(function() {
var data;
// Sort the parents
$(".sortProducts").sortable({
containment: "document"
, group: 'serialization'
, items: "> div"
, handle: ".move"
, tolerance: "pointer"
, cursor: "move"
, opacity: 0.5
, revert: 300
, placeholder: "productPlaceholder"
, start: function(e, ui) {
ui.placeholder.height(ui.helper.outerHeight());
}
, stop: function(event, ui) {
data = $(".sortProducts").sortable("toArray", {
attribute: 'data-id'
});
}
});
$("#saveOrder").click(function() {
$.ajax({
url: 'process/sortMenu.php?action=products'
, type: 'POST'
, dataType: 'json'
, data: {
newOrder: JSON.stringify(data)
},
success: function(output) {
alert('Menu order changed successfully!');
},
error: function(output) {
alert($(output['responseText']).text());
}
});
});
})
它序列化所有东西
data = $(".sortProducts").sortable("toArray", {attribute: 'data-id'});
我可以将更改应用到数据库。这里的不同之处在于我有两组可排序对象(父对象和子对象),所以我不知道如何让序列化同时适用于两者以及如何使用它。
孩子可以在父母之间移动,我需要能够在数据库中反映这一点。所以我需要知道哪个孩子属于哪个父母。
数据像论坛一样存储在数据库中。
ID | MenuID | Name | Position
-----------------------------
1 | 0 | Nme1 | 1
2 | 1 | Nme2 | 2
3 | 1 | Nme3 | 3
4 | 0 | Nme4 | 4
如果 MenuID 为 0,则它是父级。如果 MenuID 为 1,则它的父项是 ID = 1 的项目。
【问题讨论】:
-
“序列化它们”是什么意思?
-
抱歉,我编辑了这个问题以便更有意义
-
请像jsfiddle.net/ali_soltani/c1xunz44/1一样添加小提琴
标签: javascript jquery html jquery-ui jquery-ui-sortable