一尘不染

如何将变量值用作另一个对象的键?

json

我有类似的东西:

var myMenu= [
  {
    'My English Title':function(menuItem,menu) 
                       { ... }
  }];

现在,我想用另一个JSON结构值替换“我的英语标题” LOC.MENU_TITLE

我尝试了:

var myMenu= [
  {
    LOC.MENU_TITLE:function(menuItem,menu) 
                       { ... }
  }];

但这是行不通的。任何人都可以给我提示如何在JSON变量中获取JSON值?

编辑:这是使用Jquery上下文菜单,但是我在下面的所有解决方案中都遇到了问题,这是时候传递分隔符的字符串了。它不显示分隔符,因为它将字符串而不是仅字符串传递给对象。

例:

var menu1 = [
  {'Option 1':function(menuItem,menu) { alert("You clicked Option 1!"); } },
  $.contextMenu.separator,
  {'Option 2':function(menuItem,menu) { alert("You clicked Option 2!"); } }
];

阅读 370

收藏
2020-07-27

共1个答案

一尘不染

var tempElement = {};
tempElement[ LOC.MENU_TITLE ] = function(menuItem, menu) {};

myMenu = [ tempElement ];

解决您的修改。尝试以下

var myMenu = [ {}, $.contextMenu.separator, {} ];

myMenu[0][ LOC.MENU_TITLE ]  = function(menuItem, menu) {};
myMenu[2][ LOC.MENU_TITLE2 ] = function(menuItem, menu) {};
2020-07-27