Jquery возвращает старое значение после добавления - PullRequest
0 голосов
/ 07 декабря 2011

Я отправляю форму, которая добавляет новый элемент в таблицу, а также обновляет общую стоимость. Форма находится в диалоговом окне jquery, и ниже указана опция кнопок.

                buttons: {
                    Save: function() {
                        $.post(mysaveurl , $("#fee_form").serialize(),
                            function(data) { 
                                var $mydata= $(data);
                                var newremovefeeurl = "${removefeeNoIds}" + $mydata.find("td:last").attr("id");
                                $mydata.find("td:last").attr("id", newremovefeeurl);
                                $( "#totalfees" ).before($mydata);  
                                enablespinner();
                                var mynewtotal = parseFloat($("#total").text()) + parseFloat($mydata.find(".cost").text());
        $("#total").empty().html(mynewtotal).toFixed(2);

       alert($("#total").text());           
       //var mynewtotalurl = $("#total").attr("updateurl");
       //$.post(mynewtotalurl , { newtotal: $("#total").text() } );
                            }                           
                        );
                        $( this ).remove();
                    }

Пост просто добавляет новую строку таблицы в существующую таблицу и обновляет значение, хранимое внутри элемента, с идентификатором «total». Пока проблем нет.

После сброса «итогового» значения с помощью mynewtotal в коде. Я продолжаю оповещать о содержании «total», которое должно быть новым обновленным значением. Insted, я получаю старое значение даже после его обновления.

Я хочу сделать еще один пост, как указано в приведенном выше коде.

пожалуйста, сообщите.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2011

Похоже:

$("#total").empty().html(mynewtotal).toFixed(2);

должно быть

$("#total").empty().html(mynewtotal.toFixed(2));

, чтобы вы работали с итогом, а не с возвращением функции jQuery.

0 голосов
/ 07 декабря 2011

Я думаю, что эта строка не работает:

parseFloat($("#total").text()) + parseFloat($mydata.find(".cost").text())

Какое значение $mydata.find(".cost").text()?

Также для этой линии

$("#total").empty().html(mynewtotal).toFixed(2);

Я думаю, что вы хотите

$("#total").empty().html(mynewtotal.toFixed(2));

...