jquery - 根据 php session 变量生成 jquery 上下文菜单项?

标签 jquery

我有this jQuery context-menu ,我需要生成某些菜单项,具体取决于 PHP $_SESSION 变量。例如,如果我是普通用户,我只会看到“新建”和“编辑”选项。但如果我是管理员用户,我也会看到“删除用户”选项。

类似这样的事情:

$(function() {
  $.contextMenu({
    selector: '.context-menu-one',
    autoHide: true,
    callback: function(key, options) {
      if(key=="Edit") myFunction1(this);
      if(key=="New") myFunction2(this);
      if(key=="Del") myFunction3(this);
    },
    items: {
      "New": {name: "New", icon: "fa-plus-circle"},
      "Edit": {name: "Edit",icon: "fa-pencil-square-o"},
      var grade = <?php echo $_SESSION["grade"];?>;     //this doesn't work
      if(grade == "admin"){                             //but this is what I
        "Del": {name: "Delete user", icon: "fa-trash"}, //want
      }
      "sep1": "---------",
      "quit": {name: "Close", icon: function(){
          return 'context-menu-icon context-menu-icon-quit';
        }
      }
    },
  });    
});

关于如何做到这一点有什么想法吗?

编辑:

php $_SESSION["grade"] 没问题,它返回值,所以我对此没有问题。

最佳答案

字典中间不能有语句(特别是变量赋值和 if 语句)。您需要与此类似地提取它

$(function() {
  var options = {
    selector: '.context-menu-one',
    autoHide: true,
    callback: function(key, options) {
      if(key=="Edit") myFunction1(this);
      if(key=="New") myFunction2(this);
      if(key=="Del") myFunction3(this);
    },
    items: {
      "New": {name: "New", icon: "fa-plus-circle"},
      "Edit": {name: "Edit",icon: "fa-pencil-square-o"},
      "sep1": "---------",
      "quit": {name: "Close", icon: function(){
          return 'context-menu-icon context-menu-icon-quit';
        }
      }
    },
  }
  var grade = <?php echo $_SESSION["grade"];?>;     
  if(grade == "admin"){                            
    options.items["Del"] = {name: "Delete user", icon: "fa-trash"}, 
  }
  $.contextMenu(options);    
});)

关于jquery - 根据 php session 变量生成 jquery 上下文菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44212827/

相关文章:

javascript - 如何将参数发送到jquery插件函数

jquery - 如何在响应式设计中调用不同的jquery操作

jquery - 禁用/启用提交按钮不适用于移动类

javascript - 上传文件时出现安全错误 : The operation is insecure.

javascript - 如何使我的弹出窗口不透明且可横向拖动?

javascript - 如果容器 div 字符较少则隐藏 div

jQuery : Can i have 2 tabs in the same page?

jquery - 从 html.join 属性创建一个表

javascript - JQuery Mobile 和 Firefox 不能一起玩?

javascript - 将鼠标悬停在菜单元素上以显示子菜单