Как скрыть второй календарь в средстве выбора диапазона дат?

Я создал одну демонстрацию, используя плагин выбора диапазона дат, и она работает нормально. Мне нужно скрыть второй календарь, затем щелкнуть текстовое поле, чтобы отобразить два календаря, чтобы выбрать статистику диапазона дат до конца. Итак, здесь мне нужно скрыть второй календарь и работать с одним календарем, как того требует та же функциональность. так как могу я понятия не имею. Я просмотрел много ссылок в Google, но мне не удалось добиться успеха.

Ниже я показал свой HTML-код:

<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />

<div>
  <input type="text" id="dates" name="dates" value="" />
</div>


<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>

<script type="text/javascript">
  $(function() {
    //$('input[name="dates"]').daterangepicker();

    var naArray = ["20180705", "20180706", "20180707", "20180708", "20180709", "20180710", "20180711", "20180712", "20180713"];

    function isDateAvailable(date) {
      return naArray.indexOf(date.format('YYYYMMDD')) > -1;
    }

    $('input[name="dates"]').daterangepicker({
      isInvalidDate: isDateAvailable,
      minDate: new Date()
    }, function(start, end, label) {

      for (var d = start._d; d <= end._d; d.setDate(d.getDate() + 1)) {
        var isValid = true;

        var formattedDate = d.getFullYear().toString() + pad((parseInt(d.getMonth()) + 1), 2).toString() + pad(d.getDate(), 2).toString();

        if (naArray.indexOf(formattedDate) > -1) {
          isValid = false;
          break;
        }
      }

      if (!isValid) {
        alert('Please select valid date range.');
        $('.cancelBtn').trigger('click');
      }
    });
  });

  function pad(str, max) {
    str = str.toString();
    return str.length < max ? pad("0" + str, max) : str;
  }
</script>

используя ниже, я прикрепил свой снимок экрана в свой календарь, и он работает нормально, но мне нужен единственный календарь.

введите здесь описание изображения

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

Я пытался спрятаться с помощью CSS, но в то время я не мог получить цвет фоновой темы в датах выбора следующего месяца. Forex: с 18-07-2018 по 03-08-2018 выберите, затем в период с 01-08-2018 по 03-08-2018 цвет фона не отображается, и когда я выбираю дату начала и окончания в датах с 01 по 03 в цвет при наведении мыши тоже не наступает.

вот мой ожидаемый скриншот. введите здесь описание изображения


person Edit    schedule 04.07.2018    source источник
comment
Просто хочу подтвердить .. вам нужен единый календарь с функцией диапазона дат .. означает   -  person Rush.2707    schedule 04.07.2018
comment
@ Rush.2707 Означает, что когда пользователь выбирает дату начала и окончания, требуется та же функциональность. как мышь зависает и движется, чем цвет фона будет таким же, как на экране. так можно с одним календарем ??   -  person Edit    schedule 04.07.2018
comment
@ Rush.2707 Я отредактирую свой вопрос с ожидаемым снимком экрана.   -  person Edit    schedule 04.07.2018
comment
@ Rush.2707 Возможно ???   -  person Edit    schedule 04.07.2018
comment
@Edit ты проверил мой ответ?   -  person Vikasdeep Singh    schedule 04.07.2018
comment
@VicJordan Я проверил ваш ответ и попытался создать различные конфигурации, но не получаю ответа. Я не могу скрыть второй календарь. У тебя есть другой способ? тогда, пожалуйста, помогите мне с этим   -  person Edit    schedule 04.07.2018
comment
@Edit, поэтому сказал, что вы проверите мой ответ. Ответ выделен жирным шрифтом в первом предложении. Это невозможно. dateragepicker lib не предоставляет эту возможность. Так что не тратьте время зря.   -  person Vikasdeep Singh    schedule 04.07.2018


Ответы (2)


Похоже, что невозможно использовать daterangepicker один календарь.

Когда вы устанавливаете "singleDatePicker": true,, вы не можете выбрать диапазон дат, но вы можете выбрать только одну дату.

Вы можете создать различные конфигурации по вашему выбору и увидеть здесь ожидаемые результаты:

http://www.daterangepicker.com/#config

person Vikasdeep Singh    schedule 04.07.2018

если какое-либо решение не работает, попробуйте CSS

.calendar.right{
    display: none !important;
}
person Rathod Paresh    schedule 11.11.2019