1
我有一个全功能dynatree,其中数据通过ajax(数据库源)获取加载,现在我启用了对树的拖放功能。当一个项目被删除时,我做了一个Ajax请求来更新数据库,以便更新节点数据。但我在php中做了几次检查,看看是否允许节点放在它的“新位置”上。撤消项目的拖放
如何恢复节点的原始位置如果php拒绝节点被丢弃的新位置?完整的树重新加载是可能的,但我想避免这种情况,只是恢复特定的项目。
我有一个全功能dynatree,其中数据通过ajax(数据库源)获取加载,现在我启用了对树的拖放功能。当一个项目被删除时,我做了一个Ajax请求来更新数据库,以便更新节点数据。但我在php中做了几次检查,看看是否允许节点放在它的“新位置”上。撤消项目的拖放
如何恢复节点的原始位置如果php拒绝节点被丢弃的新位置?完整的树重新加载是可能的,但我想避免这种情况,只是恢复特定的项目。
好吧,我找到了一个正确的方法来做到这一点。我只是做我的ajax请求到PHP,但将其设置为同步(async false),所以dynatree代码将等待结果。然后,我实现了周围dynatree的移动功能的检查:
$.ajax({
url: "xxx,
async: false,
success: function(data){
if(data.error == 0){
showModalOk(data.message);
phpres = true;
}else
phpres = false;
}
}
});
if(phpres == true){
sourceNode.move(node, hitMode);
node.expand(true);
}
这样的节点只有当它允许被感动,所以没必要恢复节点之后
你能保存该项目的位置和然后重新分配它,如果它被PHP拒绝? – rae1