-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdestinos.js
92 lines (80 loc) · 2.92 KB
/
destinos.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
let db = {
cidades: [
{
nome: "São Felipe",
idaVolta: "Sim"
},
{
nome: "Mombaça",
idaVolta: "Não"
},
{
nome: "Conceição do Almeida",
idaVolta: "Sim"
},
{
nome: "Sapeaçu",
idaVolta: "Não"
},
{
nome: "Cruz das Almas",
idaVolta: "Sim"
},
{
nome: "Gov. Mangabeira",
idaVolta: "Não"
},
{
nome: "São Félix",
idaVolta: "Não"
},
{
nome: "Salvador",
idaVolta: "Sim"
}
]
};
/* let i = 0;
while (i < db.cidades.length) {
console.log(db.cidades[i].nome);
i++;
} */
// Selecionando o corpo da tabela
let tableBody = document.getElementById('tableBody');
// Iterando sobre as cidades e preenchendo a tabela
db.cidades.forEach(function (cidade) {
let row = document.createElement('tr'); // Criando uma nova linha
let cellNome = document.createElement('td'); // Criando uma célula para o nome da cidade
cellNome.textContent = cidade.nome; // Definindo o texto da célula como o nome da cidade
row.appendChild(cellNome); // Adicionando a célula à linha
let cellIdaVolta = document.createElement('td'); // Criando uma célula para a disponibilidade de ida e volta
cellIdaVolta.textContent = cidade.idaVolta; // Definindo o texto da célula como a disponibilidade
row.appendChild(cellIdaVolta); // Adicionando a célula à linha
tableBody.appendChild(row); // Adicionando a linha ao corpo da tabela
});
// Função para renderizar as linhas da tabela com base nos dados fornecidos
function renderizarTabela(cidades) {
const tableBody = document.getElementById('tableBody');
tableBody.innerHTML = ''; // Limpa o conteúdo atual da tabela
cidades.forEach(function (cidade) {
const row = document.createElement('tr');
const cellNome = document.createElement('td');
cellNome.textContent = cidade.nome;
row.appendChild(cellNome);
const cellIdaVolta = document.createElement('td');
cellIdaVolta.textContent = cidade.idaVolta;
row.appendChild(cellIdaVolta);
tableBody.appendChild(row);
});
}
// Event listener para o formulário de busca
document.getElementById('frmBusca').addEventListener('submit', function (event) {
event.preventDefault(); // Evita o envio do formulário padrão
const busca = document.getElementById('busca').value.toLowerCase(); // Obtém o valor da busca em minúsculas
const resultados = db.cidades.filter(function (cidade) {
return cidade.nome.toLowerCase().includes(busca); // Filtra as cidades que contêm a busca no nome
});
renderizarTabela(resultados); // Renderiza as cidades filtradas na tabela
});
// Renderiza todas as cidades ao carregar a página
renderizarTabela(db.cidades);