2012-09-29 3 views
7

https://github.com/eternicode/bootstrap-datepicker에서 datepicker를 사용하는 Twitter 부트 스트랩을 기반으로하는 일부 프로젝트에서 작업하고 있습니다. 그러나 이것은 내가 필요로하는 매우 중요한 기능을 잃어 버렸습니다. - 특정 날짜 범위 (예 : 지난 15 일에서 오늘까지) 만 사용하도록 설정하는 방법. 따라서 다른 날짜도 선택할 수 없습니다 (클릭 할 수 없음). Twitter bootstrap datepicker : 특정 daterange 만 활성화하는 방법

나는 토요일과 일요일 비활성화 여기에 SO에 유사한 솔루션, 발견 Limit bootstrap-datepicker to weekdays only? http://jsfiddle.net/katowulf/zNbUT/5/을,하지만 난 내 필요에 맞게 조정하는 방법을 잘 모릅니다.

미리 감사드립니다.

답변

14

당신이 꽤 해킹을 사용하여 종료에 링크 된 비슷한 질문, 그러나 - 당신은 startDateendDate 옵션을 찾고 :

$('#dp1').datepicker({ 
    format: 'mm-dd-yyyy', 
    startDate: '-15d', 
    endDate: '+0d' // there's no convenient "right now" notation yet 
}); 

이러한 옵션은 Date 개의 개체, timedelta 문자열 (여기에서했던대로) 또는 주어진 format 다음 날짜 문자열을 사용할 수 있습니다.

데모 : http://jsfiddle.net/zNbUT/131/ 또한

, 당신은 GitHub의에서 코드를 사용하고 있는지 확인 - eyecon.ro의 복사 된 버그 및 새로운 기능하지 않고, 원래의 코드입니다.

+0

이미 http://stackoverflow.com/questions/11933173/how-to-restrict-the-selectable-date-ranges-in-bootstrap-datepicker에서이 솔루션을 발견했습니다. 제한된 날짜를 "회색으로 표시"할 수있는 옵션이있어 사용자가 시도하기 전에 선택할 수있는 날짜를 볼 수 있습니까? – jabbalesku

+0

repo에 포함 된 스타일을 사용하는 경우 비활성화 된 날짜가 이미 회색으로 표시되어야합니다. – eternicode

3
var startDate = new Date(); 
startDate.setDate(startDate.getDate()-15); 

var endDate = new Date(); 

$('#dp1') 
.datepicker().on('changeDate', function(ev){ 
    if (ev.date.valueOf() > endDate.valueOf()){ 
     alert('The date selected is too far in the future.'); 
    } else if (ev.date.valueOf() < startDate.valueOf()){ 
     alert('The date selected is too far in the past'); 
    } else { 
     alert('fine') 
    } 

}); 당신이 원하는 것은 훨씬 간단

http://jsfiddle.net/XSmx6/14/

+0

작동하지 마십시오. 시도 : http://jsfiddle.net/XSmx6/1/ – jabbalesku

+0

범위를 벗어난 경우 처리기를 설정하고 선택을 취소해야합니다. –

+0

@jabbalesku jsfiddle을 업데이트하고 추가했습니다. – Harry