2017-01-24 13 views
0

날짜가있는 배열이 있습니다. 이 배열을 반복하고 datepicker 컨트롤에서 선택 가능한 날짜를 비활성화하려고합니다. beforeShowDay 매개 변수에서이 작업을 수행해야합니다!부트 스트랩 - Datepicker/배열의 특정 날짜 사용 안 함

var datesForDisable = ["25-01-2017", "26-01-2017", "27-01-2017"] 

$("#holidayDateFrom").datepicker({ 
      format: 'dd-mm-yyyy', 
      autoclose: true, 
      weekStart: 1, 
      calendarWeeks: true, 
      todayHighlight: true, 
      //datesDisabled: datesForDisable, 
      //daysOfWeekDisabled: [0, 6], 

      beforeShowDay: function (currentDate) { 
       var dayNr = currentDate.getDay(); 

       if (dayNr == 6) {//This works 
        return false; 
       } 

       if (dayNr == 0) {//This works 
        return false; 
       } 



        // This dosnt works.. 
         var dateNr = moment(currentDate.getDate()).format("DD-MM-YYYY"); 
         if (datesForDisable.length > 0) { 
          for (var i = 0; i < datesForDisable.length; i++) { 
           var date = new Date(datesForDisable[i]); 
           if (date == dateNr) { 
            return false; 
           } 
          } 
         } 
         return true; 
        } 
       }) 

방법이 작업을 수행하는 :

이 내 코드? 이전에 감사드립니다!

+0

야 : 당신이 그것을 확인하실 수 있습니다 단지 형식 오류가 아닙니다 :보세요? ''dd/mm/yyyy'',''DD-MM-YYYY''와''25.01.2017 ''은 3 가지 다른 포맷입니다. –

+0

나는 논리에 대한 응답이 필요하다. –

+0

논리가 실행 가능해 보인다 ... 그 이유는 내가 형식의 물건을 요구했다. –

답변

0

당신은

var datesForDisable = ["25.01.2017", "26.01.2017", "27.01.2017"] 

$("#datepicker").datepicker({ 
      format: 'dd/mm/yyyy', 
      autoclose: true, 
      weekStart: 1, 
      calendarWeeks: true, 
      todayHighlight: true, 
      //datesDisabled: datesForDisable, 
      //daysOfWeekDisabled: [0, 6], 

      beforeShowDay: function (currentDate) { 
       var dayNr = currentDate.getDay(); 
       var dateNr = moment(currentDate.getDate()).format("DD-MM-YYYY"); 

       if (dayNr == 6) {//This works 
        return false; 
       } 

       if (dayNr == 0) {//This works 
        return false; 
       } 
        if (datesForDisable.length > 0) { 
         for (var i = 0; i < datesForDisable.length; i++) {       
          if (moment(currentDate).unix()==moment(datesForDisable[i],'DD.MM.YYYY').unix()){ 
           return false; 
          } 
         } 
        } 
        return true; 
       } 
      }) 
+0

나는 시도 할 것이다 :) –

0
datesDisabled: datesForDisable 

난 당신이 옵션을 언급 왜 확실하지 오전 타임 스탬프 (유닉스 시간)로 날짜를 비교할 수 있습니다. 귀하의 질문에 따라,이 옵션은 찾고있는 것과 동일한 것을 제공합니다.

http://jsfiddle.net/CxNNh/4056/

관련 문제