2014-12-02 32 views
0

我想知道如何使用「.k-event」類獲取html元素,包含選定的事件綁定在編輯調度器事件的函數中?在kendo調度器中獲取所選事件的html元素

$("#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元素。我希望你們有一些想法來獲得這個元素,任何意見將不勝感激,謝謝。

回答

0

若要選擇事件元素把這個代碼功能觸發編輯:

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

問候。

+0

我已經應用這個和它的'活動的工作,謝謝。無論如何,如果他點擊了甚至沒有我應該怎麼做的瓷磚,以獲得元素太 – 2014-12-03 09:01:21

+0

你的英語很難:)但如果我理解你,你應該得到元素,當你點擊空的瓷磚以及。它是在編輯窗口下創建的,也可以參考。請查看我爲您製作的這個示例:http://dojo.telerik.com/OmifO。如果你有任何問題修改這個小提琴來顯示它。 – 2014-12-03 09:44:25

+0

@JarosławKończak是否有可能獲得我們點擊的單元格的html? – 2015-04-27 11:55:25

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/

相關問題