所以我遇到了以下問題。我需要爲我的jstree創建一個動態菜單。所以:jstree上下文菜單動作評估
var default_dict = {
create: false,
rename: false,
remove: false,
ccp: false
};
for (one in viewers) {
var details = viewers[one];
alert(details['module']);
alert(details['classname']);
default_dict[one] = {
label: 'View in: ' + one,
action: function (obj) {
doLaunch($project.id, nodeId, obj.one.module, obj.one.classname, obj.attr("dataType"))
},
seperator_after: false,
seperator_before: false
}
}
return default_dict;
現在這是我的createMenuItems
函數返回我的菜單項的主要部分。現在,我已經檢查和模塊和類名是精細的:
alert(details['module']);
alert(details['classname']);
但你可以看到我想每個項目的行動要與it.s correspondig模塊和類名的數據發射。但是從我所看到的實際評測: 行動:
function (obj) {
doLaunch($project.id, nodeId, obj.one.module, obj.one.classname, obj.attr("dataType"))
}, is done after the initialization of the tree. So now I'm in the following situation:
假設觀衆如下:
{ 'viewer1' : { 'module': 'Module_one', 'classname' : 'Classname_one' }, 'viewer2' : { 'module' : 'Module_two', 'classname' : 'Classname_two' } }
在樹初始化,這是正確分析和我得到的物品標記:「在viewer1中查看「和」在viewer2中查看「。然而,當我點擊'在查看器1中查看'並且評估操作函數時,細節現在包含Viewers2模塊和classname,因此錯誤的啓動完成。我希望我能正確解釋我的問題。
現在我是在js開始,所以也許我失去了一些基本的東西。任何建議,將不勝感激。
問候, 波格丹