2017-11-09 5 views
1

아약스를 통해 날짜를 얻습니다. 그리고 내 datepicker에서 그 날짜를 비활성화하고 싶습니다. 그러나 매개 변수 datesDisabled가 내 코드에서 전혀 작동하지 않습니다. 항상 날짜를 사용하지 않고 datepicker를 표시합니다.아약스를 통해 배열을 주면 부트 스트랩 datepicker datesdisabled가 작동하지 않습니다.

beforeShowDay :

$(document).ready(function() { 

    $("#people").blur(function() { 
       var people = $("#people").val(); 
       if(people == "" || people == 0) 
        { 
         $("#people-error").html("Please enter number of people."); 
         return false; 
        } 
       var experience_uid = $("#experience_uid").val(); 
       var req_url = "' . site_url() . '/wp-content/plugins/visitnorth/visitnorth.php"; 
       var ajax_req_for_schedule = 1; 



       $.ajax({ 
        async:false, 
        "type": "POST", 
        "url": req_url, 
        "data": {"people":people, "experience_uid":experience_uid, "ajax_req_for_schedule":ajax_req_for_schedule}, 
        statusCode: { 
         404: function() { 
          alert("Oj, någonting gick fel. Försök igen."); 
         }, 
         500: function() { 
          alert("Oops! An Internal Error has occurred."); 
         }, 
        }, 
        success: function (data) { 
         //output data is: ["11-08-2017, 11-05-2017, 11-03-2017"] 
         $(".datepicker").datepicker({ 
          todayHighlight: true, 
          datesDisabled: data 
         }); 

        } 
       }); 

       }); 

      }); 

답변

1

는 각 날짜를 호출하는 메소드 (beforeShowDay를) 재정의 할 수 있습니다 당신은 CSS 클래스 반환 할 수 있습니다, 일부 특정 날짜를 해제하려면 다음 기능 (날짜 아래에 내 jQuery 코드입니다) {

위의 예에서
    if (date<minDate || date > maxDate) { 
         return 'invalid_date_datepicker'; 
       } 
      }` 

, invalid_date_datepicker는 CSS 클래스 그레이 아웃 영역이다.

또한 회색 아웃 날짜를 선택하지 않으려면 onSelect을 무시하고이 클래스가 적용된 날짜를 선택하도록 제한 할 수 있습니다.

+0

저는 minDate 또는 maxDate가 없습니다. 날짜가 아약스에서 동적으로오고 있습니다. – user2226181

+1

그 ajax 결과를 성공으로 datepicker를 다시 구성 할 수 있으며 'beforeShowDay'에 ajax 응답 비활성화 날짜를 사용할 수 있습니다. disableDates.indexOf (date)> 0인지 확인한 다음 그렇지 않으면 날짜를 사용하지 않도록 설정할 수 있습니다. –

+0

고마워, 도움이 – user2226181