В моей организации каждый день работает одна из четырех смен (A-D), и смены связаны с цветами (красный, синий, зеленый, желтый).
Я использую средство выбора даты пользовательского интерфейса jQuery в представлении рабочего стола моего приложения ASP.NET MVC, и я могу использовать параметр beforeShowDay, чтобы изменить цвет фона дней в календаре, чтобы пользователи могли сразу видеть, какая смена работает каждый день.
$(".datePicker").datepicker('option', 'beforeShowDay', colorDays);
function colorDays(date) {
var today = new Date();
// set object to midnight, for comparing against passed in date
today.setHours(0,0,0,0);
var shift = getShift(date);
var cssClass = "";
// don't style unpickable dates in the past
if (date >= today) {
cssClass = "datepicker-shift-" + shift.toLowerCase();
}
return new Array(true, cssClass, shift + " Shift");
}
Можно ли сделать то же самое с Mobiscroll, чтобы фон Дневного колеса менял цвет в зависимости от смены, которая работала в этот день?
В качестве альтернативы, если это невозможно, можно изменить метку дня, включив в нее название смены (A–D).
Я попытался добавить onChange в свой экземпляр mobiscroll:
$(".datePicker").mobiscroll().date({
theme: 'jqm',
onChange: function (valueText, inst) {
var date = new Date(valueText);
var shift = getShift(date);
inst.init({ dayText: "Day - " + shift });
}
});
Событие onChange срабатывает, но виджет mobiscroll немедленно закрывается. Если вы снова откроете, метка dayText изменится правильно. Я не могу понять, как изменить метку, оставив виджет открытым.