我正在为我的项目使用Fullcalendar,我想知道如何仅为选定的用户设置可编辑的事件。
我试过这样做,但它似乎不起作用
editable: function (event) {
if (event.createdby == "Admin") {
return true
}
else {
return false
}
},
editable
选项确定是否可以拖动事件和调整大小。同时启用/禁用两者。我不确定event.createdby
调用返回"管理员"(或任何其他用户)之类的内容。
首先,请通过打印在console.log()
上或简单地alert(event.createdby);
来检查它。如果这可以以某种方式向您显示管理员,那么这完全与代码中的错误有关(例如缺少分号(;)在代码中return true
和return 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,
请注意,createdby
和createdid
是javascript变量,而不是在caledar.js
文件中包含所选用户名/id(就像您在项目中处理它的方式一样)。
这与你是否使用ASP,PHP或MVC #无关紧要。看看如何在calendar.js
文件中获取uique用户。如果您将id
放在内容页面的隐藏项目中,则有一种简单(最佳)的方法。
这是通过将隐藏字段的值加载到 js 变量中,例如,
var createdid = $( "#idfield" ).val();
或
var createdid = $( ".idfield" ).val();
谢谢。