Обернуть функцию в цикл - PullRequest
0 голосов
/ 23 марта 2020

У меня есть скрипт, который обновляет время для одного тега, если я использую querySelector и updateTime (inputTime.value); но как мне создать l oop, чтобы он работал для всех элементов, используя querySelectorAll.

Я пытался, foreach, но я просто не могу понять, в чем моя ошибка. Я использую момент js, обнаружение часового пояса.

JS

if (!sessionStorage.getItem('timezone')) {
  var tz = jstz.determine() || 'UTC';
  sessionStorage.setItem('timezone', tz.name());
}
var currTz = sessionStorage.getItem('timezone');

var inputTime = document.querySelectorAll(".input-time");
var output = document.querySelectorAll(".local");

function updateTime(theTime) {

  var date = moment().format("YYYY-MM-DD");
  var stamp = date + "T" + theTime + "Z";

  var momentTime = moment(stamp);

  var tzTime = momentTime.tz(currTz);

  var formattedTime = tzTime.format('h:mm A');

  output.textContent = "Time in " + currTz + ": " + formattedTime;
}

var i;

for (i = 0; i < inputTime.length; ++i) {
  updateTime(inputTime[i].value);
}

HTML

<label for="input-time">Time in UTC: </label>
<input value="12:30" type="time" class="input-time">

<p class="local">x</p>

<label for="input-time">Time in UTC: </label>
<input value="12:30" type="time" class="input-time">

<p class="local">x</p>
...