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

Jquery, ouvir elementos adicionados dinamicamente

Criei uma table com botão que pode adicionar novas TR, preciso fazer um IF para impedir que sejam criadas mais que 5 campos TR.

O problema é que quando chamo normalmente por:

var linhas = $(#idTable TR). length; if(linhas <5){ ..... }

Ele retorna o número de TR que existem na página quando foi carregada, e não reconhece as que foram adicionadas.

Vi algumas soluções que eram muito complicadas, acredito que tem uma forma bem mais fácil. Alguém sabe??

.

2 respostas
solução!

Olá William!

Crie uma variável contador que é incrementada sempre que você clica no botão!

Assim você tem o controle de quantos TR's foram criados.

Um exemplo abstrato (use para guiar a lógica):

var contador = 0;

$( "#target" ).click(function() {
  if(contador <= 5){
    INSERE O TR;
    contador = contador + 1;
} else{
    alert("LIMITE DE 5 TR's FOI ESTOURADO");
}
});

Espero ter ajudado! :D

Bons estudos! ^^

Eu não tinha pensado nisso, pegar o length e jogar em uma variável... No lugar de ouvir os elementos adicionados dinamicamente.

Funcionou muito bem, valeu!