jstree是一款功能強大的插件。官網地址http://www.jstree.com/
$('#jstree').jstree({
"core" : {
"animation" : 0,
"themes" : { "dots": true,"icons":true ,"stripes":false},
"check_callback" : true,
"multiple" : false,
'data' : data
},
"types" : {
"#" : { "max_children" : 5,
"max_depth" : 11 ,
},
"default" : {
"icon" : "false",
"valid_children" : ["default","text"]
},
"text" : {
"icon" : "false",
"valid_children" : []
}
},
"plugins" : [ "state", "types", "wholerow" ]
});
$.jstree.defaults.core 級有很多api,可以在初始化時設置。
如果對樹的分層有要求,特別是葉子節點作為文檔,父節點作為文件夾這類要求時,要對type做出設置。
-------------------------------------------------------------------------------------------------
max_children當前節點最多擁有的孩子樹。不設置或設置為-1代表無窮。max_depth當前節點最多能含有的子節點。如1代表有孩子節點,沒有孫子節點。不設置或設置為-1代表無窮。valid_children一個string組成的數組。代表這些string類型可以含有孩子節點.不設置或設置為-1代表無窮。icona 一個 string,可以是路徑或者className。如果用當前目錄下的img,路徑設為./xxx.png,不然會被設置為class。省略的話會用default的icon作為你的theme
There are two predefined types:
#代表根節點的id.default所有沒設定的屬性都按照default來.
-------------------------------------------------------------------------------------------------
在types里,我為#設置了最深層次為11,給default設置了可以擁有default和text的子節點,給text子節點設置為空。這樣新建一個text節點就不能再建立子節點了。
由於項目要求不需要icon,所以把icon設定為false。
項目要求折疊樹設置為 + 和 - 號,我們可以改變style.min.css的jstree默認css文件,插入我們自己的圖片。它默認的圖標是放在一張大圖里的,通過background的position來定位。要小心icon和折疊處的圖在一起,改變其中一個可能會影響到其他的。可以根據他們所處的class增加一些css源文件代碼。
plugins是jstree的插件array。它的插件可以實現拖拽等功能。需要添加的插件放入這個array就可以了。
--------------------------------------------------------------------------------------------------
create,rename,remove,upmove,downmove
var ref = $('#jstree').jstree(true), sel = ref.get_selected();
ref是獲取整個jstree(不懂怎么描述。。。api里的很多都要以ref開頭);
ref.get_node(sel)獲取sel節點
ref.delete_node(sel);刪除節點
sel = ref.create_node(sel, {"type":"text"}); 新建節點
