Jquery Mobile Datepicker меняет месяц при пролистывании

#javascript #jquery #jquery-ui #jquery-mobile #datepicker

#javascript #jquery #jquery-пользовательский интерфейс #jquery-мобильный #datepicker

Вопрос:

есть ли способ изменить месяц для выбора даты при пролистывании? Я имею в виду любой способ отображения следующего и предыдущего месяца при пролистывании?

Вот мой подход:

Jquery Mobile Swipe:

 // Bind the swipeHandler callback function to the swipe event on div.box
$( "#main-page" ).on( "swipeleft", swipeLeftHandler ).on( "swiperight", swipeRightHandler );

function swipeLeftHandler( event ){
//    $( event.target ).addClass( "swipe" );
    console.log('swiped Left');
}

function swipeRightHandler( event ){
//    $( event.target ).addClass( "swipe" );
    console.log('swiped Right');
}
  

И вот код Jquery Mobile DatePicker:

 $(".date-input-inline").datepicker({
    onChangeMonthYear: function(year, month, inst) {

        $(".ui-datepicker").fadeOut(0);

        $(".ui-datepicker").fadeIn("normal");

    },
    dateFormat: 'yy-mm-dd',
    yearRange: currentY   ':'   currentY,
});
  

Ответ №1:

используйте getDate метод, чтобы получить дату, добавьте месяц, а затем установите с помощью setDate метода, чтобы установить новую дату.

вот пример для пролистывания вправо:

  var thedate=$(".date-input-inline").datepicker('getDate'); //get date from datepicker
 thedate.setMonth(thedate.getMonth() 1); //add a month 
 $(".date-input-inline").datepicker('setDate',thedate); // set the date in datepicker
  

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