easyui tree 拖拽功能并将数据返回后台保存至数据库

1.需要实现tree的拖拽功能,首先在定义一个tree时候需要设置 dnd : true

2.easyui 给我们提供了一个onDrop : function(target, source, point) 函数,这个函数是当你拖拽树节点后触发,接下来我们就需要把数据返回后台处理

3.这里我们需要理解ondrop 函数传进来的三个变量分别代表什么意思,一旦理解了相信你就知道怎么做后台数据处理了

这里我们参照API:

具体翻译大家可以google一下,这里大家可能会疑惑,target是什么? point的三个值分别代表什么意思?我第一次用这个函数的时候也纠结了好久,后来慢慢调试发现:

target并不是你拖拽节点到新位置时此节点的父节点,而是最靠近你拖拽节点新位置的节点(就是你拖动时红色横线标识出的节点),而point就是表示你拖拽节点(也就是传进来的source) 相对于target的位置(这里说明target不是一个node 需要getNode获得),它有三个值‘append’ source 插入到target中,top source与target同级,但是source在target上方,同里 bottom在下方,具体看例子:

原先我的菜单结构是:

 

(1).当我拖动redmine节点到‘常用服务’与‘Custom Workflows’中间时,红线标示的是‘常用服务’,target就是‘常用服务’,当然point值就是append,source是redmine

(2).当我拖动Latest Issues节点到‘常用服务’与‘redmine’之间时,红线标示的还是‘常用服务’,但此时point就是top。

4.当你明白这些参数后就可以把这些值传回后台处理,后台根据point,target,source 就可以更新菜单层级结构,实现拖拽功能并保存到后台。

具体看代码:

$.ajax({
     url : 'UpdateMenuItemServlet',
     data : {
      target : next.id,
      source : source.id,
      point : point
     },
     dataType : 'json',
     success : function(r){
     }
    });

这样全部步骤就完了。

转载于:https://www.cnblogs.com/liveandevil/archive/2012/09/16/2687117.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值