Criando Campos Dinamicamente Usando o After()
Bom Dia.
Eu tenho o seguinte código:
// Adicionar Campo no Rateio de Despesas
$(".adicionar").off('click');
$(".adicionar").on("click", function(){
$("#linhas").after('<tr><td class="indent15">Despesas</td>'+
'<td><input type="text" name="valor[]" class="span2" required placeholder="Valor" /> '+
'<input type="text" name="despesa[]" class="span1 autocparray sn" required /> '+
'<i class="icon icon-search showdiv mao" alt="tab1"></i> '+
'<input type="text" name="descdespesa[]" class="span4" readonly /> '+
'<input type="button" name="del" class="remover btn btn-danger" value="-" /></td></tr>');
return false;
});
// Remover Linha Rateio de Despesas
$('.remover').on("click", function(){
$(this).parent().parent().remove();
return false;
});
Vejam que eu crio esse campo, que possui três classes e uma delas é o REMOVER.
<input type="button" name="del" class="remover btn btn-danger" value="-" />
Essa classe REMOVER chama uma função, a debaixo ali no código do jQuery. Quer dizer, era pra chamar, mas não chama. Eu clico no botão e nada acontece, onde deveria remover a linha que eu acabei de adicionar (criei um tópico sobre isso).
Daí eu pesquisei no Google e entendi que esses campos foram criados DEPOIS que o Ready foi executado, portanto a função não irá funcionar. Precisava usar o LIVE(), mas meu jQuery é o atualizado, 1.9 eu acho... não tem LiVE(), somente ON(). E estou usando o ON() como usaria o LIVE().
Mesmo assim não funciona.
Eu li também que tinha que instanciar a função depois que cria os campos dinamicamente. Mas isso não sei fazer. Eu saberia se o Remover fosse uma função JS, tipo function Remover(){ }, daí depois do campo ser criado eu colocaria:
$(".remover").on("click", Remover);
Mas eu não quero isso, eu quero o REMOVER como jQuery também.
A questão é, a função do botão não funciona mesmo com o ON().
É sempre assim ?
Eu faço uma pergunta no fórum e 5 minutos depois eu mesmo resolvo ? Rs
$('.remover').on({
click : function() {
$(this).parent().parent().remove();
}
});Discussão (4)
Carregando comentários...