ztree吧 关注:1,826贴子:12,471
  • 4回复贴,共1

关于zTreeV3.1 拖拽问题

只看楼主收藏回复

请问各路大侠:
实用拖拽对当前 子节点 拖到其他 节点上后 调用 zTreeOnDrop 返回函数 只获得目标节点 的信息 如何获得当前拖拽节点的信息????然后通过json转到后台 实时更改数据库操作???
谢谢


IP属地:广东1楼2012-04-15 20:52回复
    Email 刚回复完毕,这里全当备份了。
    关于你的问题解答如下:
    1、 beforeDrop 和 onDrop 回调中 都有 treeNodes 这个参数, 这就是当前被拖拽的节点**。 因为 zTree v3.x 版本中允许对于同级节点的多节点同时拖拽,所以 即使只拖拽一个节点,在 drop 的回调中也总是要返回一个 Array,只不过拖拽一个节点时这个 Array 的长度为1
    2、 对于 treeNodes 这个参数的规则 在 beforeDrag 和 onDrag 中同样有效。
    3、你可以利用 onDrop 的回调,触发自己的 ajax 请求后台进行更新数据库。 如果需要全面考虑到数据库的数据同步、异常;前后台要保持一致,那么可能要多费费心思。 例如:
    简要方案1: 延续当前方法,如果ajax 请求后得知更新失败,可以重新发起 ajax 请求,或者 根据之前保存的数据,利用 moveNode 方法将移动的节点还原。
    简要方案2: 利用 beforeDrop 回调,触发自己的ajax 请求,同时 return false; 在 ajax 请求结束后,判断如果数据库更新成功,那么利用 moveNode 方法进行拖拽。
    具体方案还有很多种, 例如:利用 reAsyncChildNodes 刷新某些父节点达到前后台保持一致的方法 等等。 关键还是要看你的实际需求而定。
    如果有问题还请继续沟通吧。
    


    2楼2012-04-15 22:34
    回复
      2026-03-25 22:11:22
      广告
      不感兴趣
      开通SVIP免广告
      谢谢!


      IP属地:广东3楼2012-04-16 12:45
      回复
        谢谢了!不过在数据库方面如何实现才能高效呢?


        IP属地:山东4楼2012-06-06 00:35
        回复
          数据库方面高效 应该属于数据库的架构了,数据库表结构的设计,sql 的优化;
          另外 程序操作数据库之间采用连接池等。。。这个问题范围太广了


          5楼2012-06-06 18:10
          回复