2011-12-07 72 views
-1

我正在提交一個表格,它向表中添加一個新項目並更新總值。表單在jquery對話框中,下面是指定的按鈕選項。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「總」的值。到目前爲止沒有問題。

在代碼中重置「總數」值mynewtotal。我繼續提醒應該是新的更新值的「全部」內容。儘管如此,即使在更新之後,我仍能獲得舊的價值。

我想根據上面的註釋代碼做另一篇文章。

請指教。

回答

-1

它看起來像:

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

應該

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

這樣你就可以操作總數,而不是返回jQuery函數了。

+0

@Binaryrespawn不要對Jekke粗魯,但這正是我之前寫的,所以我不確定你爲什麼不同意它,然後刪除你的評論,然後接受這個答案。 – Terry

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));

+0

我認爲這是一個數字,我的意思是你應該警惕該表達式的結果(也用parseFloat()包裝器),看看會出現什麼結果。注意'.val()','.text()'&'.html()'。如果你不明白他們的工作方式,你可能會得到意想不到的結果。 – Terry