2015-03-23 4 views
1

Итак, у меня есть jQuery DateTimePicker v2.4.1, прикрепленный к текстовому вводу. Я хотел сделать это так, когда пользователь нажимает и меняет месяц или год сборщика - он обновляет дату в форме, так как это не похоже на поведение плагина по умолчанию.jQuery datetimepicker - как получить дату в javascript?

$(timepicker).datetimepicker({ 
     format: "d M Y h:i A", 
     step: 15, 
     validateOnBlur: false, //use ValidateDateTime.js instead of jquery default 
     closeOnInput: true, 
     closeOnDateSelect: true, 
     onClose: function() { 
      var validatedDate = validateDate($(timepicker).val()); 
      if (validatedDate != false) { 
       $(timepicker).val(validatedDate); 
      } 
     }, 
     changeMonth: true, 
     changeYear: true, 
     onChangeMonth: function() { 
      //pop name of month into field and update calendar 
      var d = $(this).datetimepicker('getDate'); 
      console.log(d + this.html()); 

      /* 
      $(timepicker).datetimepicker.trigger("select.xdsoft", [d]); 
      */ 
     } 
    }); 

Проблема, которая возникает это: var d = $(this).datetimepicker('getDate'); фактически не получить дату и просто возвращает элемент DateTimePicker.

Как получить дату в js или более конкретно - как я могу заставить обновление, когда пользователь нажимает на месяц в раскрывающемся списке.

EDIT: Глядя на документальном http://xdsoft.net/jqplugins/datetimepicker/ & благодаря suish это теперь выглядит следующим образом:

onChangeMonth: function(date, $el) { 
    //pop name of month into field and update calendar 
    var str = dateTimeToString(date); 
    $($el).datetimepicker({ value: str }); 
}, 

просто!

ответ

1

onChangeMonth функция (CURRENT_TIME, $ вход) {}
onChangeYear функция (CURRENT_TIME, $ вход) {}
функция onChangeDateTime (CURRENT_TIME, $ вход) {}

В соответствии с документацией .each onChange функции получают переменную Date в качестве первого параметра.

onChangeMonth: function(date,$el) { 
     var d = date.getDate(); 
     //d is selected date. 
     var m = date.getMonth() + 1; //+1 because .getMonth() returns 0-11 
     //m is selected month. 
    } 
+0

Именно то, что я искал! Я сделаю обновление в сообщении, если кто-нибудь еще задается вопросом, как я это сделал. – ChiMo

Смежные вопросы