Ext2.2 about

出自DILA Wiki

使用arraytree

需求

如果你要使用tree狀清單元件,並且有在html loaded之後就要展開某個節點的需求的話,請使用下面的範例:

http://arraytree.extjs.eu/

分析現有的example 和這個範例

我測試了在ext的example裡的tree元件,其中 xml loader 、json loader,都是在讀完第一層就休息了,所以我們沒辨法直接存取到第n個的節點 這是它的效能考量、也是在一般的情況下使用tree元件的處理方法。

但我們的需求是,載入就必須隨機存取,所以要為每個node註冊。


範例

我在佛寺志這個專案 http://dev.ddbc.edu.tw/fosizhi/index.html 使用了上面的範例

唯一不同的是,我需要使用來自server端的資料,所以我以ajax開啟檔案,再以eval()函式處理成array,這樣一來就符合它的要求。 (需要看的人,到http://dev.ddbc.edu.tw/fosizhi/index.html,把網頁另存新檔,可以看到所有的js code寫在function.js)


ps.

有人有更好的做法,請多多交流。

如果傳參數給Ext ,當成動態網頁 (test in FF IE67 Opera safari)

var book=; params = Ext.urlDecode(window.location.search.substring(1));

if(params.book) book=params.book; else alert('no params=book');

//code here for param


如果我的url是 http://duncan.home.com.tw/?book=play&money=1000 在經過params = Ext.urlDecode(window.location.search.substring(1));後 我可以用變數params,取得 params.book params.mondy