如果不用第三方控制項,做乙個樹形選單有多難?

2021-09-01 10:25:33 字數 1110 閱讀 1039

寫在前面:如果是我自己做東西,我不喜歡使用第三方控制項,喜歡"閉門造車",當然在我的車快造好了,or造不下去了的時候我還是會開啟那扇關閉的門的

首先,建乙個資料表(oracle 11g)

create table wb_terms (

id integer not null,

"name" varchar2(200) not null,

parent integer default 0 not null

)

插入幾條測試資料,如下:

後台採用遞迴查詢,想辦法將資料返回到前台

select 

t.*from

wb_terms t

start with

t.id=0

connect by nocycle prior

t.id=t.parent

order siblings by t.id asc

重點是前台js,首先要確保在前台頁面中包含如下內容

就是乙個空 div,呵呵

var categorydiv = "#category_inside";

$(categorydiv).html("loading...");

// 此處採用jquery ajax獲得資料,當然你可以使用你喜歡的任何方式

$.get('your_url', null, function (data, textstatus) else if ($(categorydiv + " ul[id=id_" + value.parent + "]").size() == 0)

"); });

});

最後再附贈乙個css

#category_inside 

ul li ul

li label input[type="checkbox"]

最終效果如下:

為了實現此樹形選單總共使用了8行js**,而且其中2行還完全是由括號組成的,反正我感覺挺簡單的,你呢?

推薦一套第三方介面控制項

控制項名稱 krypton 這名稱確實有點怪,用的過程中發現好像是由原來的dotnetmagic元件發展而來。出品廠商 componentfactory 官方 主要特性 控制項豐富,支援整體換膚,支援docking布局和ribbon風格。最新版本 v4.4.0 從4.3版本開始,大部分控制項都可以免...

不用第三方比變數,交換2個變數的值

1 算術運算 簡單來說,就是通過普通的 和 運算來實現。如下 int a,b a 10 b 12 a b a a 2 b 12 b b a a 2 b 10 a b a a 12 b 10 通過以上運算,a和b中的值就進行了交換。表面上看起來很簡單,但是不容易想到,尤其是在習慣標準演算法之後。它的原...

爬蟲的乙個重要的第三方庫 Selenium

因為selenium有許多環境庫,所以使用pip install selenium安裝可能會失敗,推薦使用anaconda下的命令conda install selenium來安裝,安裝成功後顯示如下 python環境搭建請參考 windows10下anaconda3 python3 安裝方法 效果...