3

내가이있는 DateTimePicker 사용 http://eonasdan.github.io/bootstrap-datetimepicker/Options/

은 기본적으로 내가 maxDate: moment()을 설정할을, 즉 maxDate 지금에 제한되어야한다. 문제는 datepicker가 열릴 때까지입니다. maxDate는 now()가 아닙니다. datepicker가 표시 될 때마다 maxDate로 설정하려고합니다.부트 스트랩 datetimepicker - maxDate를 현재로 설정 했습니까?

가능한 경우 전역으로 적용하고 모든 datetimepicker() 인스턴스에 지정할 필요가 없습니다. 어떻게 든 moment.js를 사용하여 현재까지 상대 날짜를 제공 할 수 있습니까?

이 바이올린을 참조하십시오 https://jsfiddle.net/0Ltv25o8/3281/

내가 지금에 maxDate을 설정합니다. 페이지가로드 된 후 분 후에 화살표 버튼을 사용하여 현재 분을 선택할 수 없습니다.

+0

참조 : 순간을()'(피커의 모든 개방) 미래의 날짜를 해제하기에 충분합니다. 아마도 문제는 코드의 다른 부분에있을 것입니다. picker init의 클래스 선택기를 사용하여 모든 인스턴스에 대한 config를 설정하거나 변수에 config 객체를 캐시 한 다음 동일한 값을 반복하는 대신 변수를 사용할 수 있습니다. [docs] (http://momentjs.com/docs/#/manipulating/) – VincenzoC

답변

4

어떻게 날짜 선택기 플러그인의 사용자 정의 버전을 사용하는 방법에 대해?

날짜/시간을 현재까지 선택할 수있는 새 매개 변수 maxDateNow (더 좋은 이름은 무엇입니까?)을 추가했습니다.

$('#datetimepicker1').datetimepicker({maxDateNow: true, format:'DD/MM/YYYY HH:mm'}); 

난 당신이`maxDate 설정 때문에 관련 코드를 추가하는 것이 좋습니다이 fiddle

2

dp.show 이벤트를 수신 할 수 있으므로 선택기가 나타날 때마다 maxDate을 현재 시간으로 변경할 수 있습니다. 다음 코드 예제 :

$('#datetimepicker1').datetimepicker({ 
 
    maxDate: moment(), 
 
    format:'DD/MM/YYYY HH:mm' 
 
}).on('dp.show', function(){ 
 
    $('#datetimepicker1').data("DateTimePicker").maxDate(moment()); 
 
});
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"/> 
 
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.css" rel="stylesheet"/> 
 

 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script> 
 

 
<div class="form-group"> 
 
    <div class="input-group date" id="datetimepicker1"> 
 
    <input type="text" class="form-control" /> 
 
    <span class="input-group-addon"><span class="glyphicon-calendar glyphicon"></span></span> 
 
    </div> 
 
</div>

+0

에 설명 된대로 'add'/ 'subtract'등을 사용하여 순간 오브젝트를 조작 할 수 있습니다. 실제로 이벤트 콜백 옵션을 고려했습니다. 문제 - 내가 최대 (max) 또는 최소 (min)로 설정하려는 모든 datepicker에 대해 어떻게 전역 적으로 시행합니까? 나는 이미 새로운 datepicker를 만들 때마다 내 자신의 defaults 객체 설정을 사용하고 있고 jQuery.extend를 사용하고있다. – user3599803

+0

초기화 코드와 이벤트 콜백 코드 모두에서 클래스 선택기를 사용할 수 있습니까? – VincenzoC

+0

아니요, 동적으로 삽입 된 datepickers가 있습니다 (아약스 무거운 웹 응용 프로그램), 일부 입력은 아직 페이지가로드 될 때 존재하지 않습니다. 필요한 모든 datepicker에 이벤트 콜백 코드를 추가 할 수는 있지만 코드가 다소 복잡 할 수 있습니다. 너무 나쁘다. 현재 상대 최대/최소 날짜를 지정할 수 없다. : – user3599803

관련 문제