我在laravel中设置了一个分层的mysql表,如下所示(带有示例数据):
id | name | parent_id
1 | test | 0
2 | test 2 | 0
3 | test | 2
我使用带有dnd和state插件的JSTree来显示这些数据。问题是,当您使用dnd (允许拖动/编辑列表)来移动列表对象时,sql表也需要更新,以便编辑是永久的,并且不会在刷新时丢失。
我不知道该从哪里开始?有没有人有什么建议或者可以帮助你解决这个问题?
我认为我需要让javascript操作与laravel事件/侦听器交互,这样它才能动态更新sql表。
发布于 2018-06-09 07:14:08
您需要以某种方式将操作发送到服务器,这通常使用ajax调用来完成。您将侦听move_node
事件,然后从树数据中获取所需的适当数据。下面是一些可能会有帮助的代码:
var treeData = {your tree data};
$($tree).jstree({
core: {
data: treeData,
check_callback: function (op, node, parent, position, more) {
switch (op) {
case 'move_node':
return moveNode(node, parent, position, more);
case 'copy_node':
return copyNode(node, parent, position, more);
}
},
multiple: false
},
plugins: ['dnd']
}).on('copy_node.jstree', function(e, data) {
$app.debug('copy_node completed', data);
}).on('move_node.jstree', function(e, data) {
// this is where you connect to the server!
doMoveNode(data);
});
https://stackoverflow.com/questions/46896108
复制相似问题