Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tywin

Chamar Função Criada Depois do Ready()

Recommended Posts

Bom Dia.

 

Eu não sei como fazer... eu tenho uma função que cria campos dinamicamente num FORM.

 

E dentro dela crio vários botões com classes que chamam funções ao clicar. Porém, não está chamando devido os campos serem criados depois da execução do Ready(), então ele não reconhece a função.

 

Eu resolvi isso no outro tópico, copiando a função para dentro da função que cria os campos. Mas não quero assim, porquê terei que copiar tudo que eu preciso ?

 

Duro, né ?

 

Vejam:

 

 

// Abrir PopUp com Informações
$(".showdiv").click(function(){
$("#opcoesdados").css({
"display" : "block",
"background-color" : "#F5F5DC",
"position" : "relative",
"margin-left" : "610px",
"margin-top" : "65px",
"z-index" : "999999",
"width" : "300px",
"height" : "200px",
"color" : "#000",
"border" : "1px solid black",
"overflow-y" : "auto",
"overflow-x" : "hidden"
});
 
var alt = $(this).attr("alt");
 
for(x = 1; x<=6; x++){
if('tab'+x == alt)
$("#tab"+x).css("display", "block");
else
$("#tab"+x).css("display", "none");
}
});
 

 

Eu abro uma DIV CSS com essa função.

 

E na função de adicionar campos:

 

// 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>');
   $('.remover').on({
   click : function() {
       $(this).parent().parent().remove();
   }
});
   return false;
});

 

 

Resolvi. Criei a função fora do READY() e chamei ela dentro da função de adicionar campos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os eventos estão sendo registrados antes dos elementos existirem no objeto DOM, use o método .delegate() do jQuery para atribuir eventos a elementos que ainda não entraram no DOM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.