очередной раз.

я есть сетка «объектов» на странице. Например:

obj1, obj2, obj3, ...

Каждый объект имеет опцию «Редактировать», которая открывает модальное окно (ui.dialog) и загружает (.load ()) шаблон, где находятся некоторые входные данные, текстовые области и т. Д. Для редактирования информации об объекте. Есть кнопка «Завершить редактирование», которая отправляет запрос POST в файл PHP через AJAX .post (). После этого информация об объекте должна быть отредактирована.

Нет проблем с PHP или MySQL, проблема только в JS. После первого обновления все выглядит нормально, но когда я нажимаю на 'obj2', чтобы отредактировать его, и нажимаю 'Завершить редактирование', переменные, в которые я записал входные значения, взяты из предыдущей операции.

obj1. var1 = 'text1'; var2 = 'text2';

obj2. var1 = 'text3'; var2 = 'text4';

Например, в 'obj1' я отправил следующие данные: 'v1': var1, 'v2': var2. Все нормально. Но в 'obj2' он также отправил 'text1' и 'text2', а не 'text3' и 'text4'.

Я сделал var1.val (''), но это не помогло, во второй раз он отправил пустое значение :)

Код:

$(".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
                }
            });
        });
    });
});

Ответы на вопрос(1)

Ваш ответ на вопрос