Как ограничить выбор даты бутстрапа с будущей даты
Я хочу ограничить выбор даты в начальной загрузке датой получения будущей даты. Я просто хочу включить только даты до сегодняшнего дня. Как я могу этого добиться.
Вот мой код
<script>
var FromEndDate = new Date();
$(function(){
$('.datepicker').datepicker({
format: 'mm-dd-yyyy',
endDate: FromEndDate,
autoclose: true
});
});
</script>
Может ли какой-либо орган помочь с этим?
Ответы
Ответ 1
Вот демонграмма рабочего решения:
http://jsfiddle.net/tjnicolaides/cjp7y/
<script>
$(function(){
$('.datepicker').datepicker({
format: 'mm-dd-yyyy',
endDate: '+0d',
autoclose: true
});
});
</script>
edit: версия Bootstrap Datepicker, которая поддерживает startDate и endDate, находится здесь: https://github.com/eternicode/bootstrap-datepicker
Исходный проект, который является текущим верхним результатом поиска для плагина, в настоящее время не имеет этой функции: http://www.eyecon.ro/bootstrap-datepicker/
Ответ 2
Задайте для свойства endDate
значение +0d
<script>
$(function() {
$('.datepicker').datepicker({
format: 'mm-dd-yyyy',
endDate: '+0d',
autoclose: true
});
});
</script>
FIDDLE
Ответ 3
$(document).ready(function(){
$(".datepicker").datepicker({
endDate:'today'
});
});
Добавляя это к своему пользователю js, можно выбрать только дату до сегодняшней даты, и пользователь не может вручную ввести значение даты в элемент ввода. Если пользователь вводит пользовательское значение, оно автоматически изменится на текущую дату
Ответ 4
Попробуйте это,
$(function () {
$('.datepicker').datepicker({
format: 'mm-dd-yyyy',
endDate: '+0d',
autoclose: true
});
});
Я использовал выбор даты от Git
Демо
Ответ 5
Этот код работал для меня..
$('#txtTo').datepicker({
dateFormat: "dd/MM/yy",
changeMonth: true,
changeYear: true,
ignoreReadonly: true,
maxDate: 'now'
});
Ответ 6
Из-за проблемы в подключаемом модуле происходит использование этой datepicker.js
http://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.2.0/js/bootstrap-datepicker.js
Ответ 7
$(function(){
$('.datepicker').datepicker({
format: 'mm-dd-yyyy',
onRender:function(date){
return date.valueOf() > FromEndDate.valueOf()?'disabled':'';
}
});
});
Ответ 8
Ни одно из вышеперечисленных решений не работает для меня. После долгих поисков и отладки я наконец исправляю это. Ниже я поделился своим решением, если кто-то, как я, столкнулся с той же проблемой, может попробовать следующее решение.
var now = new Date();
$('[name=depdate]').datepicker({
format: 'yyyy-mm-dd',
onRender: function(date) {
if(date.valueOf() > now.addDays(15).valueOf()) {
return 'disabled';
} else if(date.valueOf() < now.valueOf()) {
return 'disabled';
}
}
})
.on('changeDate', function(){
$(this).datepicker('hide');
}).data('datepicker');
Ответ 9
Вы можете сделать это, используя опцию endDate. Все даты после даты, указанной в параметре endDate, отключены. Если вы хотите отключить даты после сегодняшнего дня, используйте это в своем теге ввода:
<input type="text" data-provide="datepicker" data-date-end-date="0d">
Источник: https://bootstrap-datepicker.readthedocs.io/en/stable/options.html#id5
Ответ 10
Попробуйте следующее:
var date=new Date();
$('#datetimepicker').datetimepicker({
format: 'MM/dd/yyyy',
language: 'en',
startDate : new Date('2015-01-01'),
endDate : date
});
Ответ 11
Установите для endDate
значение +0d
:
$(function(){
$('.datepicker').datepicker({
format: 'mm-dd-yyyy',
endDate: '+0d',
autoclose: true
});
});