在kendo调度程序中获取所选事件的html元素

时间:2014-12-02 03:58:03

标签: javascript jquery kendo-ui

我想知道如何使用" .k-event"来获取html元素。 class,包含已绑定的函数中的选定事件以编辑Scheduler事件?

$("#src-ap-01-scheduler").kendoScheduler({
    date: new Date(),
    allDaySlot: false,
    editable: {
       template: $("#scr-ap-01-editor").html()
    },
    edit: function(e){
       // i have tried these 
       // e.currentTarget
       // e.container.closest("k-event")
    }
 })

我已经在函数上记录了(e),但我不知道如何从函数内部获取.k-event元素。我希望你们有一些想法得到这个元素,任何建议都会受到赞赏,谢谢。

2 个答案:

答案 0 :(得分:0)

要获取选定的事件元素,请将此代码置于编辑时触发的功能中:

edit: function(e){
    var uid = e.container.attr('data-uid');
    var element = e.sender.element.find('div.k-event[data-uid="' + uid + '"]');
}

问候。

答案 1 :(得分:0)

以上答案在Kendo UI v2015.1.318中不起作用,这是我对此问题的快速解决方案。

edit: function(e) {
    if (e.event.YOUR_EVENT_CONDITION) {
        // Allow the user to edit this event!
    } else {
        e.preventDefault();
        var element = e.sender.element.find('div.k-event[data-uid="'+e.event.uid+'"]');
        if (element)
            $(element).notify("You can't modify a completed event.", {className: "error", placement: "top", autoHideDelay: 3000});
        else
            $.notify("You can't modify a completed event.", "error");
    }
}

我正在使用notify.js在所选事件UI上显示一条弹出消息,只有它存在。请访问以下链接以获取notify.js。

http://notifyjs.com/