Variáveis não atualizam após a solicitação AJAX concluída
Eu tenho uma grade dos 'objetos' na página. Por exemplo:
obj1, obj2, obj3, ...
Todo objeto possui uma opção 'Editar', que abre a janela modal (ui.dialog) e carrega (.load ()) o modelo, onde estão algumas entradas, áreas de texto etc. para editar as informações sobre o objeto. Existe um botão 'Concluir edição', que envia a solicitação POST para o arquivo PHP via AJAX .post (). Depois disso, as informações sobre o objeto devem ser editadas.
Não há problemas com PHP ou MySQL, o problema é apenas em JS. Após a primeira atualização, tudo parece estar bem, mas quando clico no 'obj2' para editá-lo e pressiono 'Concluir edição', as variáveis nas quais escrevi os valores de entrada - são da operação anterior.
obj1. var1 = 'texto1'; var2 = 'texto2';
obj2. var1 = 'texto3'; var2 = 'texto4';
Por exemplo, em 'obj1', enviei os próximos dados: 'v1': var1, 'v2': var2. Está certo. Mas em 'obj2' ele também enviou 'text1' e 'text2', não os 'text3' e 'text4'.
Eu fiz o var1.val (''), mas não ajudou, na segunda vez que enviou o valor vazio :)
O código:
$(".edit").click(function(){
var modal = $('<div class="dialog" id="dialog-new-message"><div></div></div>');
modal.dialog({
modal: true,
width: 300,
height: 300,
autoOpen: true
});
modal.find(">div").load('someurl', function(){
modal.dialog('open');
modal.find("#finish-button").click(function() {
var var1 = $('#someid1').val();
var var2 = $('#someid2').val();
$.ajax({
url: 'someurl',
type: 'post',
data: {
'v1' : var1,
'v2' : var2
},
success: function(data) {
modal.dialog('close');
// here is some refresh code to refresh the edited info in the page ... nothing serious
}
});
});
});
});