我已在 TreeView 控件中填充了数据。如何使用 JQUERY 从父节点拖动特定子节点并将拖动的子节点拖放到 DIV 或任何部分?我知道在 jquery 中,有“draggable”和“droppable”方法可以实现这一点。但我想拖动一个特定的子节点并将其放下。
或者至少如何使用 jquery 获取特定子节点的文本/id?我希望我可以拖动,如果我可以获取子节点
最佳答案
如果你有以下aspx
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Text="Employees">
<asp:TreeNode Text="HR" Value="SubClass1">
<asp:TreeNode Text="Bradley" Value="ID-1234" />
<asp:TreeNode Text="Whitney" Value="ID-5678" />
<asp:TreeNode Text="Barbara" Value="ID-9101" />
</asp:TreeNode>
<asp:TreeNode Text="IT" Value="SubClass2">
<asp:TreeNode Text="Jimmy" Value="ID-5587" />
<asp:TreeNode Text="Samantha" Value="ID-5474" />
<asp:TreeNode Text="Freddy" Value="ID-2001" />
</asp:TreeNode>
</asp:TreeNode>
</Nodes>
<NodeStyle CssClass="treeNode" />
</asp:TreeView>
添加
<script type="text/javascript">
$(function () {
$(".treeNode").draggable();
$("#<%= TreeView1.ClientID%>").droppable({
drop: function (event, ui) {
alert(event.originalTarget.text);
}
});
});
</script>
显示删除节点的文本。
不过,您将需要 jquery.ui 库。
如果您打算拖放一个树节点及其子节点,您可能会从中获得一些乐趣,因为显然树节点被渲染为一个表(对于父节点)和一个包含子节点的 div。没有 div 包装两个都。
也许您可以重写 TreeView 派生类中的 RenderContents 并自己递归地处理树节点的渲染,但这听起来只是包装两个元素需要大量工作。
也许更好的选择是使用 JQuery 插件来呈现树列表。
关于c# - 拖放子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192608/