Oi gente, não sei o que rolou.. Depois que eu criei o doc form.js o imc só funciona para o paciente 1 e quando eu adiciono um novo, os demais ficam zerados https://codepen.io/laantonechen/pen/ZEewZGd
Alguém pode me ajudar, por favor?
Oi gente, não sei o que rolou.. Depois que eu criei o doc form.js o imc só funciona para o paciente 1 e quando eu adiciono um novo, os demais ficam zerados https://codepen.io/laantonechen/pen/ZEewZGd
Alguém pode me ajudar, por favor?
Fala Laleska, tudo bem?
O que acontece, é que você está selecionando apenas 1 paciente, pois você utiliza o querySelector no id primeiro-paciente
:
O correto seria criar uma variável pacientes
, que receberia como valor um querySelectorAll
na nossa classe paciente
(logo que todos pacientes possuem essa classe) que retornará para nós um array contendo todos resultados daquela seleção:
Dando um console log na variável que acabamos de criar, podemos ver que nos retornará a nossa array contendo todos nossos pacientes:
Agora que ja temos todos os nossos pacientes em uma array, vamos precisar percorrer por cada um, aplicando o imc e as verificações. Então para criarmos o nosso looping, utilizaremos o for
, a sintaxe do for é a seguinte:
for (valor inicial; condição para parar o looping; operação a ser execudada a cada looping sobre a variavel de incialização) {
//código a ser repetido
}
Então para criarmos o nosso looping, começaremos declarando o valor inicial como zero, o nosso looping só irá parar quando chegar ao final da nossa array, para isso utilizaremos a propriedade length
que nos retorna quantos elementos temos na nossa array e também, a cada looping iremos adicionar + 1 á nossa variavel de inicialização para que possa chegar ao valor total da nossa array:
Agora, o que faremos será colocar todo o código que define o imc do nosso paciente, dentro desse looping:
Então, o que o nosso código fará, é passar por cada item do nosso array aplicando o imc, porém, não funcionará ainda, pois o nosso código utiliza a variavel paciente
para fazer a injeção dos dados, pois nela é aonde fica cada paciente, então, o que faremos é criar uma variável, chamada paciente
, que irá ter o valor do paciente atual do nosso looping, selecionando a nossa array, especificando que queremos usar a variavel i
(que nesse momento equivale ao index do nosso looping, ou seja, em qual looping/momento da array estamos ) para especificar qual paciente queremos:
Agora tudo está funcionando normalmente:
O código completo que criamos está disponivel clicando aqui
Uma explicação melhor do que fizemos está disponivel na aula 3 desse mesmo curso, no primeiro video, acesse-o clicando aqui
Espero ter ajudado, bons estudos :D
Muito Obrigada Mateus!