jQuery DatePicker - 将日期添加到日期会删除默认日期

时间:2013-10-19 12:44:06

标签: jquery jquery-ui jquery-ui-datepicker

使用jQuery Datepicker时,我需要将不同的类添加到不同的日期,但这样做会删除默认类,例如当前所选日期的ui-datepicker-current-day。如何在不删除默认功能的情况下使用beforeShowDay添加类?

目前,使用

构建了datepicked
      $("#datepicker").datepicker({
            showWeek: true,
            firstDay: 1,
            beforeShowDay: function (date) {
                var classString = '';

                if (isDateInArray(date, flexArray)) {
                    classString += 'dp-flex';
                }
                else if (isDateInArray(date, loggedArray)) {
                    classString += 'dp-hasreg';
                }
                else if (isDateInArray(date, childcareArray)) {
                    classString += 'dp-childcare';
                }
                else if (isDateInArray(date, sickArray)) {
                    classString += 'dp-syg';
                }
                else if (isDateInArray(date, vacationArray)) {
                    classString += 'dp-ferie';
                }
                else if (isDateInArray(date, unloggedArray)) {
                    classString += 'dp-manglerreg';
                }
                else {
                    classString += 'dp-freeday';
                }

                return [true, classString];
            },
           ...
        });

1 个答案:

答案 0 :(得分:1)

默认情况下,它们的类属性没有任何值,因此您不会删除任何默认功能。 beforeShowDay回调中指定的类确实会被追加,

    $(document).ready(function () {
      var classString = 'test1';
      classString+=' test2';
      classString+=(' test-'+Date.now());
        $('#datepicker').datepicker({
            beforeShowDay: function (date) {

                return [true,classString];

            }
        });
});

这会将所有类 test1 test2 .. 附加到任何现有的类。 http://jsbin.com/uBAbiBu/2/edit