我正在尝试在 TreeView 上使用 dragend 事件,以便向服务器发送命令以进行适当的更改,但是,为此我需要目标节点和目标节点上的父信息。目前我有以下内容:
function dragEndEvent(e) {
var treeViewData = $(".hierarchy-tree").data('kendoTreeView');
var quotaSetID = $("#quotaset-id").val();
var columnID = $("#treeViewColumnID").val();
var targetNode = treeViewData.dataItem(e.sourceNode);
var targetParentNode = targetNode.parent();
var destinationNode = treeViewData.dataItem(e.destinationNode);
var destinationParentNode = null;
if(destinationNode!=null )
destinationParentNode = destinationNode.parent();
var targetName = targetNode.text;
var targetID = targetNode.id;
var targetsParentID = null;
if (targetParentNode != null && targetParentNode.length == 1)
targetsParentID = targetParentNode[0].id;
var destinationName = null;
var destinationID = null;
var destinationsParentID = null;
if (destinationNode != null) {
destinationName = destinationNode.text;
destinationID = destinationNode.id;
if (destinationParentNode != null && destinationParentNode.length == 1)
destinationsParentID = destinationParentNode[0].id;
}
// Followed by ajax query
}
我注意到的是 parent() 调用返回一个列表,在我看来,它似乎没有任何关于实际父级的指示。也许我捕捉到了错误的事件,但是在这里, parent() 函数似乎返回了目标节点的兄弟姐妹。我还希望能够判断节点是否没有父节点(即它位于根级别)