【发布时间】:2019-06-26 23:26:30
【问题描述】:
我有以下将显示为表格的代码。我想通过我的<select id="ano">按年过滤这些内容。
所有这些常量都是表行<tr>。
当我选择<option> 2018 时,我只想将那些在“数据”变量中包含数字“2018”的常量显示为<tr>。
P.S:我不想“隐藏”不是“2018”的东西。我只想“展示”什么是“2018”。
<!DOCTYPE html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<head>
</head>
<body >
<section id="container">
<div id="select_calendario">
<div>
<select id="ano">
<option value="2018">2018</option>
<option value="2019">2019</option>
</select>
</div>
</div>
<div id="div_calendario_jogos">
<table id="table_calendario_jogos">
<tbody>
<tr id="table_header">
<th>Data</th>
<th>Hora</th>
<th>Oponente</th>
<th>Placar</th>
<th>Torneio</th>
</tr>
</tbody>
<tbody id="tbody_calendario_jogos">
</tbody>
</table>
</div>
</section>
<script>
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",
}
};
const tbody = document.getElementById('tbody_calendario_jogos');
for (const key in jogos2018) {
const tr = document.createElement('tr');
for (const item in jogos2018[key]) {
const td = document.createElement('td');
td.textContent = jogos2018[key][item];
tr.appendChild(td);
}
tbody.appendChild(tr);
}
</script>
</body>
</html>
【问题讨论】:
-
你想用你的
LSB_2018_JOGO_#...s 做什么?您需要=分配给变量,而不是: -
另外你的脚本只运行一次,你需要在事件监听器中运行代码,比如
click
标签: javascript html arrays filter