0

Я использовал ниже код для выбора даты в моей заявке. daterangepicker плагин б/у.Daterangepicker - невозможно выбрать сегодняшнюю дату

https://jsfiddle.net/jkenluv/z9tgdh7k/ 

HTML

<input class="form-control input-lg" id="tripOne" name="tripOne" /> 

JS:

var nowDate = new Date(); 
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0); 
var maxLimitDate = new Date(nowDate.getFullYear() + 1, nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0); 

$('input[name="tripOne"]').daterangepicker({ 
"autoApply": true, 
"autoUpdateInput": false, 
"singleDatePicker": true, 
"minDate": today, 
"maxDate": maxLimitDate, 
"opens": "left", 
"locale": { 
    format: 'DD MMM YYYY' 
    } 
}, function (start, end) { 
    $("#tripOne").val(start.format('DD MMM YYYY')); 
    $('#tripOne').parent().parent().removeClass('has-error'); 
}); 

$(function() { 
    $('.calendar.right').show(); 
}); 

Но, я не могу иметь возможность выбрать 'Сегодняшняя дата' или 'уже выбранной даты'. Это обязательно для нашего требования. Пожалуйста, дайте мне знать, как решить эту проблему?

Благодаря

Благодарности

+0

Ваш код работает нормально! В чем проблема? –

+0

Например: нагрузка .. выберите 18 февраля (сегодняшняя дата) .. он не будет доступен для кликов. Но, если вы выберете 19-й, он будет работать – TDG

+0

Я не знаю, почему он не работает для вас. Но это работает для меня. Я могу выбрать сегодняшнюю дату. –

ответ

0

Пожалуйста read the doc

Если вы используете диапазон дат в качестве фильтра, вы можете прикрепить подборщика к входу, но оставить его пустым путем по умолчанию. В этом примере показано , как это сделать, используя установку autoUpdateInput, и события apply и cancel.

Так как вы можете удалить autoUpdateInput линию или вы можете установить его в true.

"autoUpdateInput": false, 

ИЛИ

"autoUpdateInput": true, 
+0

Если я удалю это ... затем onload .. я могу видеть сегодняшнюю дату .. Но наше входное значение календаря должно запускаться после ввода пользователем щелчка. Кроме того, я все еще могу щелкнуть Текущую или уже выбранную дату – TDG

0
var nowDate = new Date(); 
    var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0); 
    var maxLimitDate = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate()+360, 0, 0, 0, 0); 

    $('input[name="tripOne"]').daterangepicker({ 
    "autoApply": true, 
    "autoUpdateInput": false, 
    "singleDatePicker": true, 
    "minDate": today, 
    "maxDate": maxLimitDate, 
    "locale": { 
     format: 'DD MMM YYYY' 
    } 
    },function(start) { 
     $("#tripOne").val(start.format('DD MMM YYYY')); 
     $('#tripOne').parent().parent().removeClass('has-error'); 
     setTimeout(function(){ 
      $('.daterangepicker').addClass('returnTripEndDatePicker'); 
      $('.departure--date').hide(); 
      $(".returnTripEndDatePicker").prepend("<div class='departure--date'>Select Return Date</div>"); 
      $("#tripTwo").focus(); 
     },120); 
     var returnTripStartDate = new Date(Date.parse(start)); 
     $(function() { 
     $('.calendar.right').show(); 
     }); 
    }); 
    $('input[name="tripTwo"]').daterangepicker({ 
     "autoApply": true, 
     "autoUpdateInput": false, 
     "singleDatePicker": true, 
     "minDate": today, 
     "maxDate": maxLimitDate, 
     "locale": { 
      format: 'DD MMM YYYY' 
     } 
     },function(end) { 
      $("#tripTwo").val(end.format('DD MMM YYYY')); 
      $('#tripTwo').parent().parent().removeClass('has-error'); 
     }); 
    $('input[name="tripOne"]').on('apply.daterangepicker', function(ev, picker) { 
     $(this).val(picker.startDate.format('DD MMM YYYY')); 
     }); 
     $('input[name="tripTwo"]').on('apply.daterangepicker', function(ev, picker) { 
     $(this).val(picker.startDate.format('DD MMM YYYY')); 
     }); 
+0

Привет, Пухан ... Спасибо за ваши ценные комментарии. 90% отлично работает. – TDG

+0

Но, https://jsfiddle.net/jkenluv/z9tgdh7k/2/, пожалуйста, проверьте эту ссылку .. После загрузки .. сегодняшняя дата не может быть нажата .. если я выберу 19 февраля и выберите следующую дату ввода 19. оно работает.Но, не работает только на 1-й вход сегодняшней даты – TDG

+0

Невозможно понять. Не могли бы вы рассказать мне, что вы имеете в виду, не нажав здесь? –

0

ли

$("element1").datetimepicker({ maxDate: moment.endOf('day') }) 
$("element2").datetimepicker({ maxDate: moment.endOf('day') }) 

Если вы используете minDate делать противоположное

$("element1").datetimepicker({ minDate: moment.startOf('day') }) 
$("element2").datetimepicker({ minDate: moment.startOf('day') }) 
0

Добавить функцию после инициализации daterangepicker:

$('input[name="tripOne"]').on('apply.daterangepicker', function (ev, picker) { 
     $(this).val(picker.startDate.format('DD MMM YYYY')); 
}); 
Смежные вопросы