0

Datapicker をカレンダーとして使用しようとしており、特別な日付を強調表示したいだけでなく、複数の日付選択も使用したいと考えています。複数選択が機能しており、日付の強調表示も機能しています。しかし、同じカレンダーで両方を使用しようとすると、機能しません。英語は私の母国語ではないので、あなたが私を理解してくれることを願っています。

jQuery("#kalender-container").datepicker
({
    showButtonPanel: false,
    selectMultiple:true,
    firstDay: 1, 
    showWeek: true,
    beforeShowDay: function (date) 
        {
            var theday = (date.getMonth()+1) +'/'+ 
            date.getDate()+ '/' + 
            date.getFullYear();
            return [true,$.inArray(theday, datesArray) >=0?"specialDate":($.inArray(theday, datesArray1)>=0?"specialDate1":'')];
        }
});

誰かが私の問題を解決してくれることを願っています。

ご回答ありがとうございます。

selectMultiple の編集コード

<script>
var dates = new Array();
function addDate(date) {if (jQuery.inArray(date, dates) < 0) dates.push(date);}
function removeDate(index) {dates.splice(index, 1);}

// Adds a date if we don't have it yet, else remove it
function addOrRemoveDate(date)
{
  var index = jQuery.inArray(date, dates); 
  if (index >= 0)
    removeDate(index);
  else 
    addDate(date);
}

// Takes a 1-digit number and inserts a zero before it
function padNumber(number)
{
  var ret = new String(number);
  if (ret.length == 1)
    ret = "0" + ret;
  return ret;
}

jQuery(function() {
      $.datepicker.regional['de'] = {
                monthNames: ['Januar','Februar','März','April','Mai','Juni',
                'Juli','August','September','Oktober','November','Dezember'],
                monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
                'Jul','Aug','Sep','Okt','Nov','Dez'],
                weekHeader: 'Wo', weekStatus: 'Woche des Monats',
                dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
                dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
                dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
                 firstDay: 1,showWeek:true};
        $.datepicker.setDefaults($.datepicker.regional['de']);
jQuery("#kalender-container").datepicker({onSelect: function(dateText, inst) { addOrRemoveDate(dateText); },
                              beforeShowDay: function (date){
                                var year = date.getFullYear();
                                // months and days are inserted into the array in the form, e.g "01/01/2009", but here the format is "1/1/2009"
                                var month = padNumber(date.getMonth() + 1);
                                var day = padNumber(date.getDate());
                                // This depends on the datepicker's date format
                                var dateString = month + "/" + day + "/" + year;

                                var gotDate = jQuery.inArray(dateString, dates);
                                if (gotDate >= 0) {
                                  // Enable date so it can be deselected. Set style to be highlighted
                                  return [true,"ui-state-highlight"]; 
                                }
                                // Dates not in the array are left enabled, but with no extra style
                                return [true, ""];
                              }
                        });
});

</script>
4

0 に答える 0