Я не знал значений, которые вы хотели бы отобразить, поэтому я просто отобразил даты:
РЕДАКТИРОВАТЬ: Просто добавьте больше <td>
элементов для каждого свойства, которое вы хотите отобразитьвнутри чека
document.getElementById("ano").addEventListener("change", function(e) {
const tbody = document.getElementById('tbody_calendario_jogos')
while (tbody.firstChild) {
console.log(tbody.firstChild)
tbody.removeChild(tbody.firstChild)
}
for (key in data) {
const re = new RegExp(`${e.target.value}`)
const isVal = re.exec(data[key].Data)
if (isVal != null) {
const obj = data[key]
const tr = document.createElement('tr')
const tdData = document.createElement('td')
tdData.textContent = obj.Data
const tdHora = document.createElement('td')
tdHora.textContent = obj.Hora
const tdOponente = document.createElement('td')
tdOponente.textContent = obj.Oponente
const tdPlacar = document.createElement('td')
tdPlacar.textContent = obj.Placar
const tdTorneio = document.createElement('td')
tdTorneio.textContent = obj.Torneio
tr.appendChild(tdData)
tr.appendChild(tdHora)
tr.appendChild(tdOponente)
tr.appendChild(tdPlacar)
tr.appendChild(tdTorneio)
tbody.appendChild(tr)
}
}
})
РЕДАКТИРОВАТЬ 2: Если вы хотите более краткий способ сделать это (примечание: порядок свойств имеет значение в этом методе [aka top отображается первым, bottomотображается последним]) заменить содержимое if (isVal != null) { ... }
на:
const obj = data[key]
const tr = document.createElement('tr')
for (value of Object.values(obj)) {
const td = document.createElement('td')
td.textContent = value
tr.appendChild(td)
console.log(value)
}
tbody.appendChild(tr)
Активируется каждый раз, когда изменяется значение select
(то есть, когда пользователь выбирает опцию), удаляет все элементы "tbody_calendario_jogos"
, использует Regex для фильтрации правильных объектов по году и отображает их.
PS: я организовал ваши данные в это для кода, чтобы работать:
const data = {
LSB_2018_JOGO_1: {
Data: "11/03/2019",
Hora: "15:00",
Oponente: "BMC",
Placar: "V, 52-42",
Torneio: "LSB",
},
LSB_2018_JOGO_2: {
Data: "08/04/2018",
Hora: "12:30",
Oponente: "Drink Team",
Placar: "D, 59-61",
Torneio: "LSB",
},
LSB_2018_JOGO_3: {
Data: "22/04/2019",
Hora: "10:30",
Oponente: "Nitcheroy Ballers",
Placar: "V, 53-40",
Torneio: "LSB",
},
TUC_2018_JOGO_1: {
Data: "11/08/2018",
Hora: "12:30",
Oponente: "Unirio",
Placar: "D, 30-60",
Torneio: "TUC",
},
TUC_2018_JOGO_2: {
Data: "15/09/2019",
Hora: "17:10",
Oponente: "UFRJ Aecs",
Placar: "V, 29-25",
Torneio: "TUC",
},
TUC_2018_JOGO_3: {
Data: "20/10/2018",
Hora: "16:00",
Oponente: "UERJ Economia",
Placar: "V, 49-30",
Torneio: "TUC",
}
};