Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Adicionar o paciente no início da Tabela

Eu optei por colocar o formulário antes da tabela, pois conforme vamos adicionando ele sempre é empurrado para baixo, porem ao fazer isso o novo paciente sempre fica lá no fim não sendo muito prático para acha-lo.

5 respostas

Oi Flavio, tudo certo?

Voce pode usar o metodo insertBefore para isso.

Se fosse com jQuery seria o prepend ou prependTo, depende de onde voce estiver saindo.

Bons estudos!

Abcs!

Esse é o código usado para criar o novo paciente.

var botao = document.querySelector("#adicionar-paciente");
botao.addEventListener('click', function(event){

    var pacienteTr = montaTr(paciente);

    var tabela = document.querySelector("#tabela-pacientes");

    tabela.appendChild(pacienteTr);

})

Para colocar uma nova linha no inicio de uma tabela você pode usar a funçao insertRow. Aqui tem um exemplo de como funciona:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/insertRow
solução!

Oi Flavio,

A funçãoinsertBefore do Javascript serve exatamente para isto que você deseja. O seu uso é parecido com o appendChild, porém temos que especificar na frente de qual elemento queremos inserir o novo elemento.

Como você quer que o novo paciente seja o primeiro da tabela, basta utilizar a função insertBefore para que o seu novo paciente seja inserido ANTES do primeiro paciente atual da tabela.

Fica o exemplo abaixo:

function adicionaPacienteNaTabela(paciente) {
    var novoPaciente = montaTr(paciente);
    var tabela = document.querySelector("#tabela-pacientes");
    var primeiroPaciente = tabela.querySelector("tr:first-child");
    tabela.insertBefore(novoPaciente, primeiroPaciente);
}

Muito obrigado funcionou perfeitamente