在Vis.js,时间线,刷新显示变化数据

At Vis.js, timeline, refresh display on change data

我在此文本框中设置了 html-form 我更改了标题、内容、开始和 end-time。通过单击 'okay' 按钮更改数据项。 如何刷新时间线?

代码来自 onlclick-Button

    var onClickEditOkay = function () {
    if (selItemNr != null){
        var start = new Date(dummyDate);
        var sh = tbStart.value.split(":");
        start.setHours(parseInt(sh[0]));
        start.setMinutes(parseInt(sh[1]));
        var end = new Date(dummyDate);
        sh = tbEnd.value.split(":");
        end.setHours(parseInt(sh[0]));
        end.setMinutes(parseInt(sh[1]));
        timeline.itemsData._data[selItemNr].start = start;
        timeline.itemsData._data[selItemNr].end = end;
        timeline.itemsData._data[selItemNr].title = tbTitle.value;
        timeline.itemsData._data[selItemNr].content = tbContent.value;      
        timeline.redraw();
    }
};  

项目的值也正确设置了开始和结束,但时间线显示没有任何变化。

问候马里奥

我找到了解决方案:

javascript class 将 _data.id 存储到 cuItemId 在 OnClick 函数中我调用 timeline.itemdData.update().

var onClickEditOkay = function () {
    if (selItemNr != null){
        var start = new Date(dummyDate);
        var sh = tbStart.value.split(":");
        start.setHours(parseInt(sh[0]));
        start.setMinutes(parseInt(sh[1]));
        var end = new Date(dummyDate);
        sh = tbEnd.value.split(":");
        end.setHours(parseInt(sh[0]));
        end.setMinutes(parseInt(sh[1]));
        timeline.itemsData.update({id: cuItemId, start: start,end: end, title: tbTitle.value, content: tbContent.value});
    }
};      

效果很好。 问候马里奥