禁用树视图节点
答
,如果你把一个简单的树节点标记:
<asp:TreeView runat="server" ID="myTreeView">
<Nodes>
<asp:TreeNode Text="Node 1 "/>
<asp:TreeNode Text="Node 2"/>
<asp:TreeNode Text="Node 3"/>
</Nodes>
<NodeStyle CssClass="treeNode" />
</asp:TreeView>
那么对于单个节点的默认输出是:
<table cellspacing="0" cellpadding="0" style="border-width: 0pt;">
<tbody><tr>
<td><img alt="" src="/WebResource.axd?d=g57q362hyd_ZDMok5KQd0PqwW46aD7OdNOJZcZxqq5Q1&t=634092817937234954"></td><td style="white-space: nowrap;" class="treeNode myTreeView_2"><a style="border-style: none; font-size: 1em;" id="myTreeViewt0" onclick="TreeView_SelectNode(myTreeView_Data, this,'myTreeViewt0');" href="javascript:__doPostBack('myTreeView','sNode 1 ')" class="myTreeView_0 treeNode myTreeView_1">Node 1 </a></td>
</tr>
</tbody></table>
在这一点上,你可以看到周围的那得到一个标签生成接收css类'treeNode',以便选择一个特定的节点,您可以使用以下选择器:
$('。treeNode:eq(0)')获取树中的第一个节点。还有其他选择器可能更喜欢使用,请参阅jQuery docs上的选择器页面。
然后你可以做不同的事情。
-
您可以隐藏节点:
$('.treeNode:eq(0)').hide();
你可以替换文本标签:
var node = $('.treeNode:eq(0)'); //get the node element
var nodeLink = $('a', node).hide() //get the link and hide it;
node.append(nodeLink.text()); //get the text from the link and add it to the node
,或者你可以使用第三方的jQuery插件,阻止元素(通常在执行ajax操作时很好):
- download the [blockui][2] plugin
- reference the javascript file from your page (or masterpage)
- then use this javascript call:
to block:
$('.treeNode:eq(0)').block();
unblock:
$('.treeNode:eq(0)').unblock();
确定.....任何想法如何从TreeView中拖动特定的子节点并将其放到任何DIV或任何位置? – 2010-07-07 08:50:45
这就是整个其他话题... 有很多选项(http://jqueryui.com/demos/draggable/,http://plugins.jquery.com/project/Plugins/category/45)你会发现如何用jQuery做足够的例子。 但是,就我所见,拖放不仅仅是一个技术问题,而且也是一个设计问题。我建议不要仅仅使用d&d,因为它看起来很酷,你必须正确地做它,并且它是有道理的。有时添加一个按钮会让你的用户的生活变得更加容易,如果他们有拖放功能...... :) – poeticGeek 2010-07-07 13:37:39