jquery實(shí)現(xiàn)點(diǎn)擊TreeView文本父節(jié)點(diǎn)展開(kāi)/折疊子節(jié)點(diǎn)
更新時(shí)間:2013年01月10日 15:52:06 作者:
今天客戶(hù)提出要點(diǎn)擊菜單(TreeView實(shí)現(xiàn)的)的父級(jí)節(jié)點(diǎn)時(shí),展開(kāi)節(jié)點(diǎn),很多新手朋友可能對(duì)此會(huì)很陌生,接下來(lái)介紹解決方法,感興趣的朋友可以了解下
以前一個(gè)現(xiàn)在不用的帳號(hào)發(fā)布的隨筆,現(xiàn)在人肉搬過(guò)來(lái)吧。
注冊(cè)用戶(hù)有一段時(shí)間了,一直很忙,到現(xiàn)在還沒(méi)有寫(xiě)一篇,忽然覺(jué)的一定要花點(diǎn)時(shí)間記錄和總結(jié)一些東西。好吧,就從這里開(kāi)始了。
今天客戶(hù)提出要點(diǎn)擊菜單(TreeView實(shí)現(xiàn)的)的父級(jí)節(jié)點(diǎn)時(shí),展開(kāi)節(jié)點(diǎn)。心想這個(gè)應(yīng)該是很常見(jiàn)的功能吧,特意google了一下,發(fā)現(xiàn)大部分是將的不是js實(shí)現(xiàn)的,有些js實(shí)現(xiàn)的寫(xiě)的麻煩,干脆自己寫(xiě)一個(gè)吧,應(yīng)該不難的。
首先思路是,
,讓文本點(diǎn)擊的時(shí)候執(zhí)行左邊‘+'號(hào)的事件,查看源碼看到,‘+'號(hào)的事件是:
javascript:TreeView_ToggleNode(ctl00_body__menuTree_Data,0,document.getElementById('ctl00_body__menuTreen0'),' ',document.getElementById('ctl00_body__menuTreen0Nodes'))
Ok,接下來(lái)就是篩選出所有的父級(jí)節(jié)點(diǎn),加上處理事件就ok了,下面是完整代碼:
<script type="text/javascript">
$().ready(function()
{
$("img[src$=tv_NoExpend.jpg]").each(function()//篩選出所有的父級(jí)node
{
//ctl00_body__menuTreet4i//父級(jí)node的id是這樣的規(guī)則:ctl00_body__menuTreet加id加i
var id = $(this).parent().attr("id").replace("ctl00_body__menuTreet","").replace("i","");
var nId = 'ctl00_body__menuTreen'+id;
BindExpandJs($("#ctl00_body__menuTreet"+id+"i"),nId);//給‘文件夾'圖片綁定事件
BindExpandJs($("#ctl00_body__menuTreet"+id),nId); //給'文本節(jié)點(diǎn)'綁定事件 });
});
function BindExpandJs(obj,nId)
{
$(obj)
.css("cursor","pointer")
.removeAttr("href")
.click(function()
{
TreeView_ToggleNode(ctl00_body__menuTree_Data,0,document.getElementById(nId),' ',document.getElementById(nId+'Nodes'));
});
}
</script>
注冊(cè)用戶(hù)有一段時(shí)間了,一直很忙,到現(xiàn)在還沒(méi)有寫(xiě)一篇,忽然覺(jué)的一定要花點(diǎn)時(shí)間記錄和總結(jié)一些東西。好吧,就從這里開(kāi)始了。
今天客戶(hù)提出要點(diǎn)擊菜單(TreeView實(shí)現(xiàn)的)的父級(jí)節(jié)點(diǎn)時(shí),展開(kāi)節(jié)點(diǎn)。心想這個(gè)應(yīng)該是很常見(jiàn)的功能吧,特意google了一下,發(fā)現(xiàn)大部分是將的不是js實(shí)現(xiàn)的,有些js實(shí)現(xiàn)的寫(xiě)的麻煩,干脆自己寫(xiě)一個(gè)吧,應(yīng)該不難的。
首先思路是,

javascript:TreeView_ToggleNode(ctl00_body__menuTree_Data,0,document.getElementById('ctl00_body__menuTreen0'),' ',document.getElementById('ctl00_body__menuTreen0Nodes'))
Ok,接下來(lái)就是篩選出所有的父級(jí)節(jié)點(diǎn),加上處理事件就ok了,下面是完整代碼:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
$().ready(function()
{
$("img[src$=tv_NoExpend.jpg]").each(function()//篩選出所有的父級(jí)node
{
//ctl00_body__menuTreet4i//父級(jí)node的id是這樣的規(guī)則:ctl00_body__menuTreet加id加i
var id = $(this).parent().attr("id").replace("ctl00_body__menuTreet","").replace("i","");
var nId = 'ctl00_body__menuTreen'+id;
BindExpandJs($("#ctl00_body__menuTreet"+id+"i"),nId);//給‘文件夾'圖片綁定事件
BindExpandJs($("#ctl00_body__menuTreet"+id),nId); //給'文本節(jié)點(diǎn)'綁定事件 });
});
function BindExpandJs(obj,nId)
{
$(obj)
.css("cursor","pointer")
.removeAttr("href")
.click(function()
{
TreeView_ToggleNode(ctl00_body__menuTree_Data,0,document.getElementById(nId),' ',document.getElementById(nId+'Nodes'));
});
}
</script>
您可能感興趣的文章:
- 基于MVC5和Bootstrap的jQuery TreeView樹(shù)形控件(二)之?dāng)?shù)據(jù)支持json字符串、list集合
- 基于MVC5和Bootstrap的jQuery TreeView樹(shù)形控件(一)之?dāng)?shù)據(jù)支持json字符串、list集合
- ASP.NET中基于JQUERY的高性能的TreeView補(bǔ)充
- 打造基于jQuery的高性能TreeView(asp.net)
- 為jQuery.Treeview添加右鍵菜單的實(shí)現(xiàn)代碼
- Jquery.TreeView結(jié)合ASP.Net和數(shù)據(jù)庫(kù)生成菜單導(dǎo)航條
- jQuery 學(xué)習(xí)第六課 實(shí)現(xiàn)一個(gè)Ajax的TreeView
- 選擇TreeView控件的樹(shù)狀數(shù)據(jù)節(jié)點(diǎn)的JS方法(jquery)
- jQuery 樹(shù)形結(jié)構(gòu)的選擇器
- jQuery treeview樹(shù)形結(jié)構(gòu)應(yīng)用
相關(guān)文章
jquery實(shí)現(xiàn)上傳文件大小類(lèi)型的驗(yàn)證例子(推薦)
下面小編就為大家?guī)?lái)一篇jquery實(shí)現(xiàn)上傳文件大小類(lèi)型的驗(yàn)證例子(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨想過(guò)來(lái)看看吧2016-06-06html5以及jQuery實(shí)現(xiàn)本地圖片上傳前的預(yù)覽代碼實(shí)例講解
這篇文章主要介紹了html5以及jQuery實(shí)現(xiàn)本地圖片上傳前的預(yù)覽代碼實(shí)例講解,圖文代碼實(shí)例講解的很清晰,有感興趣的同學(xué)可以研究下2021-03-03自定義一個(gè)jquery插件[鼠標(biāo)懸浮時(shí)候 出現(xiàn)說(shuō)明label]
自定義一個(gè)jquery插件,一個(gè)簡(jiǎn)單的jquery.js,入門(mén)的jquery插件,jquery入門(mén)實(shí)例,jquery helloworld。2011-06-06jquery easyui validatebox remote的使用詳解
下面小編就為大家?guī)?lái)一篇jquery easyui validatebox remote的使用詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11Jquery 獲取指定標(biāo)簽的對(duì)象及屬性的設(shè)置與移除
這篇文章主要介紹了Jquery如何獲取指定標(biāo)簽的對(duì)象及屬性的設(shè)置與移除,需要的朋友可以參考下2014-05-05jquery1.9 下檢測(cè)瀏覽器類(lèi)型和版本的方法
本文為大家介紹下jquery1.9 下如何檢測(cè)瀏覽器類(lèi)型和版本,下面有個(gè)不錯(cuò)的示例,大家可以參考下2013-12-12