真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JQuery如何實(shí)現(xiàn)簡(jiǎn)單的復(fù)選框樹形結(jié)構(gòu)圖-創(chuàng)新互聯(lián)

小編給大家分享一下JQuery如何實(shí)現(xiàn)簡(jiǎn)單的復(fù)選框樹形結(jié)構(gòu)圖,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、鐘山網(wǎng)站維護(hù)、網(wǎng)站推廣。

具體如下:

JQuery如何實(shí)現(xiàn)簡(jiǎn)單的復(fù)選框樹形結(jié)構(gòu)圖

這是自己寫的簡(jiǎn)單樹形結(jié)構(gòu)圖,實(shí)現(xiàn)的功能有:

1.最左邊的按鈕實(shí)現(xiàn)子目錄的隱藏和顯示

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

3.選中一個(gè)子節(jié)點(diǎn)時(shí)相應(yīng)的父節(jié)點(diǎn)也選中;當(dāng)所有的子節(jié)點(diǎn)都沒有選中時(shí),父節(jié)點(diǎn)也取消選中

這是實(shí)現(xiàn)的最簡(jiǎn)單的功能。下面來具體的談?wù)劸唧w的實(shí)現(xiàn):

1.引入庫

所有的這些操作都是通過JQuery來實(shí)現(xiàn)的,所以首先要引入JQuery庫,可以到官網(wǎng)下載JQuery庫,也可以通過CDN的方式來引用,這里我是通過CDN的方式引用的:


2.子目錄的隱藏和顯示

這里我只是做了一個(gè)簡(jiǎn)單的,可能看起來不是很美觀,我的最左邊放的是一個(gè)button按鈕,并且沒有經(jīng)過CSS美化,所以看起來比較丑,不過這都不是重點(diǎn),重點(diǎn)是我們功能的實(shí)現(xiàn),由于我的代碼比較簡(jiǎn)單并且注釋我也寫的比較詳細(xì)了,所以這里我就不做過多的介紹,直接貼代碼:


上面是按鈕,下面是按鈕的點(diǎn)擊事件:

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

簡(jiǎn)單說明一下邏輯就是,點(diǎn)擊按鈕后,切換子目錄的隱藏或顯示,然后根據(jù)子目錄的隱藏或顯示狀態(tài),來重新設(shè)置按鈕的顯示'+'或者'-'

3.全選/全不選

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

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

4.選中子節(jié)點(diǎn)后父節(jié)點(diǎn)的相應(yīng)變化狀態(tài)

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

主要的代碼就是這么多,其實(shí)也沒什么復(fù)雜的。

jquery是什么

jquery是一個(gè)簡(jiǎn)潔而快速的JavaScript庫,它具有獨(dú)特的鏈?zhǔn)秸Z法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對(duì)CSS選擇器進(jìn)行擴(kuò)展、擁有便捷的插件擴(kuò)展機(jī)制和豐富的插件,是繼Prototype之后又一個(gè)優(yōu)秀的JavaScript代碼庫,能夠用于簡(jiǎn)化事件處理、HTML文檔遍歷、Ajax交互和動(dòng)畫,以便快速開發(fā)網(wǎng)站。

以上是“JQuery如何實(shí)現(xiàn)簡(jiǎn)單的復(fù)選框樹形結(jié)構(gòu)圖”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁題目:JQuery如何實(shí)現(xiàn)簡(jiǎn)單的復(fù)選框樹形結(jié)構(gòu)圖-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/ddedcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部