我只是無法弄清楚,或找到任何文檔。添加元數據到jsTree
我有一個最基本的JSON:
{ 「數據」: 「節點」, 「元數據」:{ 「內容」: 「hellooooo」} }
這被加載,但我無法弄清楚如何寫入這個字段,檢索這個字段,並確保它是在創建新節點時創建的。
元數據的文檔在哪裏?
謝謝, Marco。
我只是無法弄清楚,或找到任何文檔。添加元數據到jsTree
我有一個最基本的JSON:
{ 「數據」: 「節點」, 「元數據」:{ 「內容」: 「hellooooo」} }
這被加載,但我無法弄清楚如何寫入這個字段,檢索這個字段,並確保它是在創建新節點時創建的。
元數據的文檔在哪裏?
謝謝, Marco。
我找到了答案,在http://groups.google.com/group/jstree/browse_thread/thread/28d0c8d3eb2d9f8f
如果你使用JSON和您提供 您的節點有這樣的元數據:
{
"data": "This is the name of the node",
"metadata": {
"number": "no1",
"description": "Description"
}
}
...你」我將能夠得到(並設置)這樣的數據:
$('div#jstree').jstree(
/* ...options... */
).bind('select_node.jstree',
function(e, data){
alert( $(data.rslt.obj).data('description')
); });
這適用於最新的提交 (rc3/r233)。在舊版本中,它使用
$(data.rslt.obj).data("jstree").description
最後的解決方案爲我(默認下載目前是RC2)。
謝謝,我對此失去了理智。這些舊例子都沒有奏效! 所以我終於可以訪問元數據了,問題是我不知道如何迭代未知數量的元數據字段?
好了,現在我已經檢查了它,並有可能超過)的數據(返回的對象沒有命名的參數迭代
.bind("select_node.jstree", function (e, data) {
var propsObj = $(data.rslt.obj).data();
for (var prop in propsObj) {
alert(prop + " = " + propsObj[prop] + "\n");
}
});
如果你需要避免jstree_children陣列在你的方式,最好的方式我的意見是封裝的元數據到另一個對象,像這樣:
"metadata" : {"properties" : {"prop1" : "aa1a", "prop2" : "123"}}
那麼你可以使用迭代:
var metadata = $(data.rslt.obj).data();
for (var prop in metadata.properties) {...}
我不斷收到'data.rslt`爲undefined – mmcrae 2015-10-05 18:13:11