JavaScript樹型導航菜單

樹型導航菜單一般項目中經常會用到,之前寫過一個,現在抽空改了一下。

下面是使用文檔

 

類名:Tree

方法:

名稱

返回值

描述

Tree(datasource:array)

Void

構造函數, 以數據填充

Render(placeholder: string)

Void

渲染樹

reRender()

Void

重新渲染

getDataSource()

Array

獲得樹的數據

setEditable(value:boolean)

Void

設置是否可編輯

setDragable(value:boolean)

Void

設置是否可拖動


 








事件:

名稱

參數

描述

onAddNode

eventArg:object,successCallback:function

增加一個節點時觸發

onEditNode

eventArg:object,successCallback:function

編輯一個節點時觸發

onRemoveNode

eventArg:object,successCallback:function

移除一個節點時觸發

onNodeClick

eventArg:object

點擊節點時觸發

onDrag

eventArg:array

拖動時觸發

 

以下是代碼示例:

 

JScript code

    var dataSource = [{"name":"女裝","pid":"-1","id":"21", sort: 1},            {"name":"連衣裙","pid":"21","id":"2213", sort: 2, isOpen: true},            {"name":"雪紡裙","pid":"2213","id":"2237", sort: 3},            {"name":"T恤","pid":"21","id":"2238", sort: 4},            {"name":"蕾絲衫/雪紡衫","pid":"2238","id":"2239", sort: 5},            {"name":"休閒褲","pid":"2240","id":"2240", sort: 6},            {"name":"半身裙","pid":"2238","id":"2241", sort: 7},            {"name":"牛仔褲","pid":"2241","id":"2242", sort: 8},            {"name":"短外套","pid":"21","id":"2243", sort: 9},            {"name":"小背心/小吊帶","pid":"2243","id":"2244", sort: 10},            {"name":"打底褲","pid":"21","id":"2245", sort: 11},            {"name":"襯衫","pid":"21","id":"2246", sort: 12},            {"name":"男裝","pid":"0","id":"2249", sort: 13},            {"name":"T恤","pid":"2249","id":"2250", sort: 14},            {"name":"襯衫","pid":"2249","id":"2251", sort: 15},            {"name":"休閒褲","pid":"2249","id":"2252", sort: 16},            {"name":"牛仔褲","pid":"2249","id":"2253", sort: 17},            {"name":"polo衫","pid":"2249","id":"2254", sort: 18},            {"name":"馬甲/背心","pid":"2249","id":"2255", sort: 19},            {"name":"短褲","pid":"2249","id":"2256", sort: 20},            {"name":"短裙","pid":"2213","id":"2300", sort: 21},            {"name":"老年服","pid":"0","id":"2301", sort: 22},            {"name":"短袖","pid":"2301","id":"2302", sort: 23}];     var tree = new Tree( dataSource );     //設置爲可編輯     tree.setEditable( true );     //設置爲可拖動     tree.setDragable( true );     //添加結點事件處理程序     tree.addListener( 'onAddNode', function( eventType, eventArg, successCallback ) {        console.log( eventArg );        var ajaxOption = new Object;        ajaxOption.url = '';        ajaxOption.type = 'GET';        ajaxOption.data = {            id: eventArg.id,            newName: eventArg.newName        };        ajaxOption.success = function( response ) {             successCallback( {"name": eventArg.newName,"pid":eventArg.id ,"id": new Date().getTime(), sort: 0} )        }        $.ajax( ajaxOption );              } );     //編輯結點事件處理程序     tree.addListener( 'onEditNode', function( eventType, eventArg, successCallback ) {        console.log( eventArg );        var ajaxOption = new Object;        ajaxOption.url = '';        ajaxOption.type = 'GET';        ajaxOption.data = {            id: eventArg.id,            newName: eventArg.newName        };        ajaxOption.success = function( response ) {            successCallback();        }        $.ajax( ajaxOption );             } );     //移除結點事件處理程序     tree.addListener( 'onRemoveNode', function( eventType, eventArg, successCallback ) {        console.log( eventArg );        var ajaxOption = new Object;        ajaxOption.url = '';        ajaxOption.type = 'POST';        ajaxOption.data = { id: eventArg.id };        ajaxOption.success = function( response ) {            successCallback();        }        $.ajax( ajaxOption );         } );      //點擊結點事件處理程序     tree.addListener( 'onNodeClick', function( eventType, eventArg ) {        alert( '點擊了id爲' + eventArg.id + '節點' );     } );             //拖動節點事件處理程序     tree.addListener( 'onDrag', function( eventType, eventArg ) {        alert( '當前數據爲:' + JSON.stringify( eventArg ) );     } );      tree.render( 'placeholder' );
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章