Jquery在追加后返回旧值

时间:2011-12-07 18:24:11

标签: jquery jquery-post

我正在提交一个表格,该表格会向表格添加新项目以及更新总价值。表单位于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();
                    }

该帖子只是向现有表添加一个新表行,并更新存储在ID为“total”的元素内的值。到目前为止没问题。

在代码中使用 mynewtotal 重置“总计”值后。我继续提醒“total”的内容,这应该是新的更新值。 Insted,即使更新后我也会得到旧值。

我想按照上面评论的代码所做的另一篇文章。

请指教。

2 个答案:

答案 0 :(得分:0)

我的猜测是这条线路失败了:

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

$mydata.find(".cost").text()的价值是什么?

也适用于此行

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

我想你想要

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

答案 1 :(得分:-1)

看起来像:

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

应该是

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

这样你就可以操作总数,而不是返回jQuery函数。