0
我已經列出了ASP.net控件TreeView的數據。我想要禁用列出的TreeView中的特定節點/父節點。我想用jQuery來做到這一點。禁用樹視圖節點
我已經列出了ASP.net控件TreeView的數據。我想要禁用列出的TreeView中的特定節點/父節點。我想用jQuery來做到這一點。禁用樹視圖節點
,如果你把一個簡單的樹節點標記:
<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