Верните правильно информацию в javascript функции - PullRequest
0 голосов
/ 09 января 2020

Я хочу использовать пользовательский интерфейс из jQuery пользовательского интерфейса, но я не знаю, как извлечь информацию, потому что я вызываю функцию datePickerRange(), но она всегда возвращает object object.

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

function datePickerRange(){

    var from = $("#from").datepicker({
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 1
    })
    .on("change", function() {
      to.datepicker("option", "minDate", getDate(this));
    }),
    to = $("#to").datepicker({
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 1
    })
    .on("change", function() {
      from.datepicker("option", "maxDate", getDate(this));
    });

    return from;
}

Функция getDate():

function getDate(element) {
    var dateFormat = "mm/dd/yy";
    var date;
    try {
      date = $.datepicker.parseDate(dateFormat, element.value);
    } catch (error) {
      date = null;
    }

    return date;
}

А вот код для получения информации, когда пользователь нажимает кнопку.

$('.btn_graf').click(function() {
    if(id_btn == 'date_btn'){
        var from = datePickerRange();
        alert(from);           
    } 
});

Почему возвращается object object? Я думаю, что, возможно, я неправильно делаю return from;, потому что мне нужно добавить что-то еще, но я не знаю, как это сделать правильно.

Может ли кто-нибудь мне помочь? Большое спасибо.

1 Ответ

0 голосов
/ 09 января 2020

from - это объект jQuery, представляющий элемент #from, оповещать о нем бесполезно. Если вы хотите получить даты, которые выбрал пользователь, используйте метод выбора даты getDate.

$('.btn_graf').click(function() {
    if(id_btn == 'date_btn'){
        var from = $("#from").datepicker("getDate");
        var to = $("#to").datepicker("getDate");
        alert(`From ${from} to ${to}`);           
    } 
});
...