Javascript 如何向KendoUI调度程序动态添加和删除组
我正在使用KendoUI调度程序控件,下面是初始化代码Javascript 如何向KendoUI调度程序动态添加和删除组,javascript,jquery,kendo-ui,kendo-scheduler,Javascript,Jquery,Kendo Ui,Kendo Scheduler,我正在使用KendoUI调度程序控件,下面是初始化代码 $("#Scheduler").kendoScheduler({ dataSource: [], selectable: true, height: 500, editable: false,
$("#Scheduler").kendoScheduler({
dataSource: [],
selectable: true,
height: 500,
editable: false,
eventTemplate: $("#event-template").html(),
views: [
"day",
{ type: "week", selected: true },
"month",
"agenda"
],
resources: [
{
field: "resourceviewid",
name: "ResourceViews",
dataColorField: "key",
dataSource: [
{ text: "Appointments", value: 1, key: "orange" },
{ text: "Delivery Specialist", value: 2, key: "blue" },
{ text: "Orientation Specialist", value: 3, key: "green" }
]
}
],
group: {
resources: ["ResourceViews"],
orientation: "horizontal"
}
});
此处默认为“约会”组,它将始终可用
我的屏幕上有一个复选框
<div id="divResourceView">
<label><input checked type="checkbox" value="1" />Delivery Specialist</label>
<label><input checked type="checkbox" value="2" />Orientation Specialist</label>
</div>
送货专员
定向专家
在更改事件中,我编写了以下代码,以从复选框中获取所选值,并更新KendoUI调度程序的组数据源,如下所示
$("#divResourceView :checkbox").change(function (e) {
var checked = $.map($("#divResourceView :checked"), function (checkbox) {
return parseInt($(checkbox).val());
});
});
var scheduler = $("#Scheduler").data("kendoScheduler");
var arrayOfStrings = checked.toString().split(",");
for (var i = 0; i < arrayOfStrings.length; i++)
{
if(arrayOfStrings[i] == 1)
{
var data = [{ text: "Delivery Specialist", value: 2, color: "blue" }];
scheduler.resources[1].dataSource.data(data);
}
if (arrayOfStrings[i] == 2) {
var data = [{ text: "Orientation Specialist", value: 3, color: "green" }];
scheduler.resources[2].dataSource.data(data);
}
}
scheduler.refresh();
$(“#divResourceView:复选框”).change(函数(e){
var checked=$.map($(“#divResourceView:checked”),函数(复选框){
返回parseInt($(复选框).val());
});
});
var调度器=$(“#调度器”).data(“kendoScheduler”);
var arrayOfStrings=checked.toString().split(“,”);
对于(变量i=0;i
但它会删除所有组,只添加一个组。我想在arrayOfStrings的值为“1,2”时查看这两个组
我可以在初始化过程中看到所有组,但选中复选框后,它将消失
供参考的图像
初始化期间
之后
您可以清楚地看到,调度程序控制中缺少交付专家
找到一些链接:
但不知道他们在说什么?似乎是刷新问题。我已经这样做了,我相信你是对的,你的问题与刷新有关,我使用以下方法来刷新它
var scheduler = $("#scheduler").data("kendoScheduler");
scheduler.view(scheduler.view().name);
希望这有助于通过它是愚蠢的晚(我目前正在寻找如何做到这一点lazerly)