私の組織では、毎日 4 つのシフト (A ~ D) のうちの 1 つが働いており、シフトは色 (赤、青、緑、黄色) に関連付けられています。
ASP.NET MVC アプリのデスクトップ ビューで jQuery UI の datepicker を使用し、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) の名前を含めても問題ありません。
mobiscroll インスタンスに onChange を追加してみました:
$(".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 ラベルが正しく変更されています。ウィジェットを開いたままラベルを変更する方法がわかりません。