TransWikia.com

DateRangePicker cambiar el mínimo de días tras seleccionar la primera fecha

Stack Overflow en español Asked on February 10, 2021

Estoy usando DateRangePicker, necesitaría ayuda encontrar un modo de cambiar ‘minDays’ después de seleccionar la primera fecha del rango.

$('.mdaterange').dateRangePicker({
  ...
  minDays: 2,
  ...
}).bind('datepicker-first-date-selected', function(event, obj) {
  //change here or similar to minDays: 5
});

One Answer

Lamentablemente el API que ofrece ese plug-in está demasiado limitado. Por lo tanto la única solución que pude encontrar fue modificar directamente el script original jquery.daterangepicker.js.

En la línea 986 podrás encontrar la sección donde definen el API del plug-in. introducir la descripción de la imagen aquí

Como ya sabrás, los métodos que ofrece su API de manera predeterminada son: setStart, setEnd, setDateRange, clear, close, open, redraw, getDatePicker, resetMonthsView y destroy

Te comparto el fragmento de código que tuve que agregar (yo elegí incluirlo entre los métodos setDateRange y clear, pero tú lo puedes poner donde gustes):

setMinDays: function(mDays) {
    if (typeof mDays == 'number') {
        opt.minDays = mDays;
    }
}

Entonces, para cambiar el valor de la propiedad minDays se haría de la siguiente manera:

$('.mdaterange').data('dateRangePicker').setMinDays(5);

Por lo tanto, aplicándolo a tu fragmento de código, quedaría así:

$('.mdaterange').dateRangePicker({
  minDays: 2
}).bind('datepicker-first-date-selected', function(event, obj) {
  //change here or similar to minDays: 5
  $('.mdaterange').data('dateRangePicker').setMinDays(5);
});

Y aquí te comparto un ejemplo funcional: jsFiddle

Answered by Sagnalrac on February 10, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP