麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

JQuery實現簡單的復選框樹形結構圖示例【附源碼下載】

2019-11-19 11:10:46
字體:
來源:轉載
供稿:網友

本文實例講述了JQuery實現簡單的復選框樹形結構圖。分享給大家供大家參考,具體如下:

這是自己寫的簡單樹形結構圖,實現的功能有:

1.最左邊的按鈕實現子目錄的隱藏和顯示

2.點擊父節點的復選框選中后,父節點下的所有的子節點也選中;父節點未選中,則下面的所有的子節點也取消選中(全選和全不選)

3.選中一個子節點時相應的父節點也選中;當所有的子節點都沒有選中時,父節點也取消選中

這是實現的最簡單的功能。下面來具體的談談具體的實現:

1.引入庫

所有的這些操作都是通過JQuery來實現的,所以首先要引入JQuery庫,可以到官網下載JQuery庫,也可以通過CDN的方式來引用,這里我是通過CDN的方式引用的:

<!-- 引入JQuery --><script src="https://cdn.bootcss.com/jquery/3.0.0-alpha1/jquery.min.js"></script>

2.子目錄的隱藏和顯示

這里我只是做了一個簡單的,可能看起來不是很美觀,我的最左邊放的是一個button按鈕,并且沒有經過CSS美化,所以看起來比較丑,不過這都不是重點,重點是我們功能的實現,由于我的代碼比較簡單并且注釋我也寫的比較詳細了,所以這里我就不做過多的介紹,直接貼代碼:

<!-- 切換子目錄隱藏或顯示的按鈕 --><div class="div_inline"><input type="button" value="-" class="tree_node_toggle_button"></div>

上面是按鈕,下面是按鈕的點擊事件:

// 為所有的切換按鈕添加點擊事件$(".tree_node_toggle_button").click(function () {  // 獲取需要隱藏或顯示的節點  var $toggle_node = $(this).parent().next().find(".tree_node_child");  $toggle_node.toggle(); // 切換隱藏或顯示  // 切換按鈕的顯示  if($toggle_node.is(":visible")){    $(this).val("-");  }else{    $(this).val("+");  }});

簡單說明一下邏輯就是,點擊按鈕后,切換子目錄的隱藏或顯示,然后根據子目錄的隱藏或顯示狀態,來重新設置按鈕的顯示'+'或者'-'

3.全選/全不選

// 為所有的父節點添加點擊事件$(".tree_node_parent_checkbox").click(function(){    // 獲取父節點是否選中    var isChange = $(this).prop("checked");    if(isChange){ // 如果選中,則父節點下的所有的子節點都選中      // 獲取當前checkbox節點的兄弟節點下的所有的checkbox子節點選中      $(this).next().find(".tree_node_child_checkbox").prop("checked", true);    }else{ // 未選中,取消全選      // 獲取當前checkbox節點的兄弟節點下的所有的checkbox子節點選中      $(this).next().find(".tree_node_child_checkbox").removeAttr("checked");    }});

這里特別注意一下,切換checkbox的選中要用prop()方法,不能用attr(),如果用attr()首次是不能出現我們需要的效果的。關于prop和attr的區別可以去官網查看prop介紹JQuery prop

4.選中子節點后父節點的相應變化狀態

// 為所有的子節點添加點擊事件$(".tree_node_child_checkbox").click(function () {    // 獲取選中的節點的父節點下的所有子節點選中的數量    var length = $(this).parent().find(".tree_node_child_checkbox:checked").length;    // 判斷當前結點是否選中    if($(this).prop("checked")){ // 選中      // 如果當前節點選中后,所有的選中節點數量1,選中父節點      if(length == 1){        // 選中父節點        $(this).parent().prev().prop("checked", true);      }    }else{ // 節點未選中      if(length == 0){        // 取消父節點的選中狀態        $(this).parent().prev().removeAttr("checked");      }    }});

主要的代碼就是這么多,其實也沒什么復雜的。

完整實例代碼點擊此處本站下載

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery操作DOM節點方法總結》、《jQuery頁面元素操作技巧匯總》、《jQuery常用插件及用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》及《jquery選擇器用法總結

希望本文所述對大家jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色大片免费看 | 伊人久久国产精品 | 黄色网址在线播放 | 55夜色66夜色国产精品视频 | 女教师~淫辱の动漫在线 | 久色视频网站 | 久久蜜桃精品一区二区三区综合网 | 91精品国产92久久久久 | 污版视频在线观看 | 把娇妻调教成暴露狂 | 久久久在线免费观看 | 综合毛片 | 91麻豆精品国产91久久久更新资源速度超快 | 国产亚洲精品成人a | 欧美hdfree性xxxx | 亚洲精品久久久久久久久久久 | 最新av网址在线观看 | 国产午夜精品一区二区三区四区 | 国产免费观看av | 日本免费aaa观看 | 国产91久久久久久 | 成人在线视频一区 | 国产超碰人人做人人爱 | 亚洲成人在线视频网站 | 成年性羞羞视频免费观看无限 | 国产一区二区三区四区五区在线 | 欧美日韩大片在线观看 | 热99热 | 国产亚洲精品久久久久久网站 | 国产精品免费久久久久 | 成人毛片100免费观看 | 亚洲第一成人av | 中文字幕国产一区 | 亚洲精华液久久含羞草 | 中文字幕免费一区 | 黄色视屏免费观看 | free korean xxxxhd| 超级av在线 | 精品在线免费播放 | 国产精品一区二区三区在线播放 | 中文字幕 在线观看 |