先看代碼:
var TreeForJSON = new dhtmlXTreeObject('TreeForJSON', '100%', '100%', 0);
TreeForJSON.setImagePath("dhtmlx/codebase/imgs/csh_vista/");
TreeForJSON.enableDragAndDrop(true);
TreeForJSON.enableKeyboardNavigation(true)
TreeForJSON.loadJSONObject({id:0,
item:[
{id:1,text:"first",userdata:[{name:'url',content:'http://g.cn#1'}]},
{id:2, text:"middle",userdata:[{name:'url',content:'http://g.cn#2'}],
item:[
{id:"21", text:"child",userdata:[{name:'url',content:'http://g.cn#3'}]}
]},
{id:3,text:"last",userdata:[{name:'url',content:'空'}]}
]
}
);
TreeForJSON.setOnClickHandler(TestOnClick);
function TestOnClick(id){
var url = (TreeForJSON.getUserData(id, "url"));
alert(url);
}
dhtmlxTree中的loadJSONObject方法也是支持userdata屬性的,只是寫法特殊一點
取值時是通過當前ID去找userdatea下的name,如代碼中的url,然後獲取其content內容,即http://g.cn...
同理,使用這個方法可以自定義更多的屬性
userdata:[{name:'type',content:'1'},{name:'remark',content:'空'}]
(注:專業版(PRO)1.6纔開始支持JSON方法,標準版(STD)中沒有這個功能)
來源:http://hi.baidu.com/ruixueue0117/blog/item/6ddd067b1622e7fc0ad1871f.html