如何在全日历中仅为某些用户设置可编辑为 true



我正在为我的项目使用Fullcalendar,我想知道如何仅为选定的用户设置可编辑的事件。

我试过这样做,但它似乎不起作用

editable: function (event) {   
    if (event.createdby == "Admin") {
        return true 
    }
    else {
        return false 
    }
},

editable 选项确定是否可以拖动事件和调整大小。同时启用/禁用两者。我不确定event.createdby调用返回"管理员"(或任何其他用户)之类的内容。

首先,请通过打印在console.log()上或简单地alert(event.createdby);来检查它。如果这可以以某种方式向您显示管理员,那么这完全与代码中的错误有关(例如缺少分号(;)在代码中return truereturn false之后。

如果你可以将"选定用户"的name(甚至id)带到像createdby这样的变量中,那么它就像下面的代码一样简单:

更改代码:

editable: function (event) {   
    if (event.createdby == "Admin") {
        return true 
    }
    else {
        return false 
    }
},

对此:

editable: (createdby == "Admin") ? true:false,

editable: (createdid == 1) ? true:false,

请注意,createdbycreatedid是javascript变量,而不是在caledar.js文件中包含所选用户名/id(就像您在项目中处理它的方式一样)。

这与你是否使用ASP,PHP或MVC #无关紧要。看看如何在calendar.js文件中获取uique用户。如果您将id放在内容页面的隐藏项目中,则有一种简单(最佳)的方法。

这是通过将隐藏字段的值加载到 js 变量中,例如,

var createdid = $( "#idfield" ).val();

var createdid = $( ".idfield" ).val();

谢谢。

相关内容

  • 没有找到相关文章

最新更新