2012-03-28 4 views
1

다중 달 모드로 다른 달에 다른 달과 중복되지 않는 일을 위해 jQuery datepicker를 수정하고 싶습니다 (아래 이미지 참조, 빨간색으로 표시된 일은 제거하고 싶습니다). 너 나 좀 도와 줄 수있어? jQuery datepicker 다중 월 모드 중복 주

enter image description here

물어으로

,이 달력에 대한 내 코드입니다 :

$(document).ready(function(){ 
    var weeks = new Array(); 

    function inWeeks(startDate) { 
     for (var i in weeks) { 
      if (weeks[i].getTime() == startDate.getTime()) return true; 
     } 
     return false; 
    } 

    function removeWeek(startDate) { 
     for (var i in weeks) { 
      if (weeks[i].getTime() == startDate.getTime()) { 
       weeks.splice(i, 1); 
       return; 
      } 
     } 
    } 

    function addWeek(startDate) { 
     weeks.push(startDate); 
    } 

    var selectCurrentWeek = function() { 
     window.setTimeout(function() { 
      $('.week-picker').find('.ui-datepicker-current-day a').addClass('ui-state-active') 
     }, 1); 
    } 

    $('.week-picker').datepicker({ 
     numberOfMonths: 2, 
     showOtherMonths: true, 
     selectOtherMonths: true, 
     hideIfNoPrevNext: true, 
     firstDay: 1, 
     onSelect: function(dateText, inst) { 
      var date = $(this).datepicker('getDate'); 
      var startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 1); 
      //var endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 6); 

      if (inWeeks(startDate)) { 
       removeWeek(startDate); 
      } else { 
       addWeek(startDate); 
      } 

      selectCurrentWeek(); 
     }, 
     beforeShowDay: function(date) { 
      var cssClass = ''; 
      for (var i in weeks) { 
       var startDate = weeks[i]; 
       var endDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() - startDate.getDay() + 7); 
       if(date >= startDate && date <= endDate) 
        cssClass = 'ui-datepicker-selected-week-day'; 
      } 
      return [true, cssClass]; 
     }, 
     onChangeMonthYear: function(year, month, inst) { 
      selectCurrentWeek(); 
     } 
    }); 
}); 
당신은 그 두 줄을 제거해야
+0

어떤 datepicker를 사용하십니까? 코드는 어떻게 생겼습니까? –

+0

표준 jQuery datepicker (jquery-1.6.2, jquery-ui-1.8.14.custom) –

+4

@AndrewWhitaker에 따르면, 약간의 코드를 게시해야합니다. 당신이 원하는 것은 jQuery의 데모 페이지에서 완벽하게 작동합니다 ... http://jqueryui.com/demos/datepicker/#multiple-calendars – Jibou

답변

1

:

showOtherMonths: true, 
selectOtherMonths: true, 

옵션 showOtherMonths "표시 날짜 현재 달의 시작 또는 끝의 다른 달 (선택 불가능) "및 selectOtherMonths"표시된 다른 달의 실제 일 현재 달 전후가 선택 가능합니다. "