gcogco10 Ответов: 1

Как-делает jqueryui чтение-данных-по вашему-jquery-запросу?


У меня есть выбор даты, и я хочу, чтобы мой выбор даты мог получить ниже доступных данных, независимо от того, выбрал ли пользователь дату прошлого года; например, 2019-12-04. По моему запросу jquery я могу получить только дату этого года, любого, кто может помочь мне достичь такой логики. Логика ниже, если, возможно, я не имею смысла.

Что я уже пробовал:

<!---DatePicker for startDate and endDate ---->
<div class="d-flex justify-content-start">
  <div class="col-xl-10.5 col-lg-10.5 col-md-10 col-sm-10.5 col-10.5">
    <div class="input-daterange input-group" id="datepicker">
      <input type="text" class="input-sm form-control" name="from" placeholder="startdate" />
      <span class="input-group-addon">To</span>
      <input type="text" class="input-sm form-control" placeholder="enddate" />
    </div>
  </div>
</div><br/>
<br/>
<br/>
// date functionality
$(document).ready(function() {
  $('.input-daterange').datepicker({
    dateFormat: "dd-mm-yy",
    autoclose: true
  });
});

//checking equality for channel fields on thingspeak.
$(function() {
  $("#download").click(function(e) {
    e.preventDefault();
    var isTemperature = $('#temperature').is(':checked');
    var isButtonState = $('#button_state').is(':checked');

    if (isTemperature && isButtonState) {
      window.open('https://api.thingspeak.com/channels/952961/feeds.csv?api_key=FDJCRN71YJM2R0FM&start=2020-01-06T00:00+02&end=2020-01-10T23:59+02:00&timezone=Africa/Johannesburg');
    } else {
      if (isTemperature) {
        window.open('https://api.thingspeak.com/channels/952961/fields/1.csv?api_key=FDJCRN71YJM2R0FM&timezone=Africa/Johannesburg');
      } else {
        if (isButtonState) {
          window.open('https://api.thingspeak.com/channels/952961/fields/8.csv?api_key=FDJCRN71YJM2R0FM&start=2020-01-06T00:00+02&end=2020-01-10T23:59+02:00&timezone=Africa/Johannesburg');
        }
      }
    }

  });
});

1 Ответов

Рейтинг:
2

tninis

Здравствуйте, если я не отвечу на ваш вопрос , вы хотите выбрать только даты текущего года, не так ли ?
в jquery datetimepicker вы можете установить minDate и maxDate ,

я.е

$(document).ready(function() {

var year = (new Date).getFullYear();

  $('.input-daterange').datepicker({
    dateFormat: "dd-mm-yy",
    autoclose: true,
    minDate: new Date(year, 0, 1),
    maxDate: new Date(year, 11, 31)

  });
});


переменная года динамична , она принимает текущий год .


gcogco10

Хорошо, как же мне тогда ссылаться на мой запрос jquery для передачи данных с помощью JqueryUI date-picker?

tninis

получите входные значения выбранных дат и используйте их . т. е. для одной даты

получить значение:
ВАР значения свойства selecteddate=$('#дата ввода').вал() ;

и поместите его в URL API :

window.open('https://api.thingspeak.com/channels/952961/fields/8.csv?api_key=FDJCRN71YJM2R0FM&start='+selectedDate+'&end=2020-01-10T23:59+02:00&timezone=Africa/Johannesburg');

**измените формат даты в зависимости от ваших потребностей.

gcogco10

Спасибо товарищам, я взял последний ответ, и он работает хорошо, как я уже проверил.

gcogco10

Последний вопрос-это дата окончания на моем URL-адресе API, что означает, что я должен вручную изменить его время. Есть ли способ обойти это? Пожалуйста, совет, спасибо.

tninis

что значит "вручную" ? покажите мне пример

gcogco10

window.open(......api_key=FDJCD...&start='+selectedDate+'&end=2020-01-10T23:59+02:00&timezone=Africa/Johannesburg);

tninis

вы можете получить конечную дату, как и начальную дату в предыдущем комментарии
var selectedEndDate=$('#end-date-input').val();
window.open(......api_key=FDJCD...&start='+selectedDate+'&end='+selectedEndDate+'&timezone=Africa/Johannesburg);

gcogco10

Моя логика как ниже ВАР значения свойства selecteddate = $('.ввод-периода').Валь(), ВАР selectedEndDate = $('вход-периода').функция val(); window.open(https://api.thingspeak.com/channel/..../api_key....&start='+selectedDate+'&end='+selectedEndDate+'&timezone=Africa/Johannesburg); моя конечная дата не работает хорошо, я использовал тот же вход-периода от моя форма на сегодняшний день-комплектовщик скачивания же года. Что я упускаю? Должно ли мое значение быть уникальным или не совпадать('input-daterange').val(); пожалуйста, посоветуйте спасибо.

tninis

да вы должны использовать другой идентификатор на ваших входах
пример :
в < тип входного="текст" идентификатор="дате начала" и GT;
в < тип входного="текст" идентификатор="конечной даты" и GT;

и получить такие значения, как
ВАР значения свойства selecteddate = $('#Начало-Дата').вал()
var selectedEndDate = $('#end-date').val();

gcogco10

Спасибо, приятель, я сделал эти удостоверения уникальными для каждого. теперь я могу быть в состоянии загрузить с прошлого года до сегодняшнего дня. Я хотел избежать ручного ввода статического значения в window.open(end=2020-01-10T23:59:02:00&timezone...); не очень хорошая практика.