답변:
이벤트 changedate()
를 사용 하여 날짜가 변경된 시점을 추적 하고 선택 후 datepicker('hide')
숨기기 방법을 사용할 수 있습니다 datepicker
.
$('yourpickerid').on('changeDate', function(ev){
$(this).datepicker('hide');
});
최신 정보
이것은 autoclose: true
. 이 버그는 최신 마스터에서 수정되었습니다. SEE COMMIT. 최신 코드 받기GitHub
if (ev.viewMode === 'days') {$(this).datepicker('hide');}
. 월 또는 1 년을 선택한 후 datepicker를 숨기고 싶지 않기 때문에}
$(".date").datepicker({... autoclose: true, ... });
작동합니다 !!!
누구에게나 도움이된다면 부트 스트랩 날짜 선택기의 버전 2.0은 더 이상 허용 된 답변으로 작동하지 않습니다.
내 작업 방법은 다음과 같습니다.
$('yourpickerid').datepicker({
format: 'dd/mm/yyyy',
}).on('changeDate', function(e){
$(this).datepicker('hide');
});
http://bootstrap-datepicker.readthedocs.org/en/latest/events.html#changedate 참조
일반적으로 전역 적으로 달력의 동작을 재정의하려는 경우 Datepicker 함수를 편집 해보십시오 (제 예에서는 82 행이었습니다).
...에서
this.autoclose = false;
에
this.autoclose = true;
모든 캘린더 인스턴스가 동일하게 작동하기를 원했기 때문에 잘 작동했습니다.
다음 줄에 의해 입력 요소에 대한 숨기기 이벤트를 차단하여 문제를 중지 할 수 있습니다
var your_options = { ... };
$('.datetimepicker').datetimepicker(your_options).on('hide', function (e) {
e.preventDefault();
e.stopPropagation();
});
bootstrap-datepicker.js
var defaults = $.fn.datepicker.defaults
autoclose: true
프로젝트를 저장하고 새로 고치면됩니다.
부트 스트랩 4에서는 "autoHide : true"를 사용합니다.
$('#datepicker1').datepicker({
autoHide: true,
format: 'mm-yyyy',
endDate: new Date()
});
$('.datepicker').datepicker({
autoclose: true
});
autoclose: true
예제 코드 에도 이것을 가지고 있습니다.
소스 코드 bootstrap-datepicker.js를 변경할 수 있습니다 . this.hide();
네처럼 추가
if (this.viewMode !== 0) {
this.date = new Date(this.viewDate);
this.element.trigger({
type: 'changeDate',
date: this.date,
viewMode: DPGlobal.modes[this.viewMode].clsName
});
this.hide();//here
}
내가 'YYYY-MM-DD'형식을 써도 여전히 시계가 표시되는 데 문제가 있습니다 .
설정해야 pickTime: false
했고 변경-> 숨기기 후 집중- > 보이기
$('#VBS_RequiredDeliveryDate').datetimepicker({
format: 'YYYY-MM-DD',
pickTime: false
});
$('#VBS_RequiredDeliveryDate').on('change', function(){
$('.datepicker').hide();
});
$('#VBS_RequiredDeliveryDate').on('focus', function(){
$('.datepicker').show();
});
날짜 시간 선택기
$('yourpickerid').datetimepicker({
format: 'dd/mm/yyyy',
}).on('changeDate', function(e){
$(this).datetimepicker('hide');
});