如何仅在Fullcalendar中为某些用户设置editable为true

时间:2014-11-27 05:14:23

标签: fullcalendar restriction

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

我尝试过这样做,但似乎没有效果

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

1 个答案:

答案 0 :(得分:0)

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

首先,请通过console.log()alert(event.createdby);打印来检查。如果这可以以某种方式向您显示管理员,则表示代码中的错误(例如在代码中return truereturn false之后缺少分号(;)。

如果您可以选择“所选用户”的name(或甚至id)。对于像createdby这样的变量,它只是在下面的代码中是eazy:

更改代码:

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

对此:

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

OR

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

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

无论您是使用ASP,PHP还是MVC,都无关紧要......看看如何在calendar.js文件中使用uique用户。如果您在内容页面中的隐藏项目中有id,则会有一种简单(最佳)方式。

即将隐藏字段的值加载到js变量,如

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

OR

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

谢谢。