jQuery serializeArray não capturando elementos de formulário criados dinamicamente
Eu tenho um formulário que é criado dinamicamente usando ajax (como os dados para os elementos do formulário precisam vir de um banco de dados) e quero serializar os elementos do formulário para enviá-los pelo ajax. Atualmente, estou testando minha teoria usando o código do site jQuery apenas para ver se consigo pegar os elementos do formulário e é aí que está o problema:
$(document).ready(function() {
$('#btnCustomSearch').live('click', function() {
$('#results').html('');
alert($('#customSearchTable :input').serializeArray());
// get all the inputs into an array.
var fields = $('#customSearchTable :input').serializeArray();
jQuery.each(fields, function(i, field) {
$("#results").append(field.name + " = " + field.value + ", ");
});
// now we'll reformat the data as we need
// here we'll send the data via ajax
});
});
Preciso fazer algumas alterações nos dados antes do envio e esse código ainda não foi gravado, mas o que estou descobrindo é que quaisquer elementos de entrada na página que existiam no momento do carregamento da página foram selecionados corretamente, quaisquer elementos que sejam preenchidos usando Javascript são selecionados corretamente, mas qualquer um criado usando ajax é ignorado.
Eu sei que isso normalmente é resolvido usando "ao vivo", mas não sei como resolver isso comserializeArray()
. Usando o Ajax, elementos adicionais do formulário são adicionados ao#customSearchTable
e estes são os que não estão sendo apanhados.
Qualquer ajuda muito apreciada.
obrigado