嗨我遇到了使用更改方法更新計算結果的問題。從動態創建的數據計算得到NaN
該計算是通過放置在表格行中的動態創建的數據進行的。 所以每行的最後一列應該顯示價格* qty(qty是從動態創建的select元素派生的)的總和。創建每行的方法是從自動完成輸入框中選擇一個選項。
每當用戶從dt中的select元素中選擇選項時,該行的總數應該被更新。它第一次工作,但第二次結果列轉向NaN。
我想我可能會與我如何設置行與
$("tr").not(":first").each(function(){// meant to not get the header but the rest of the rows which have the data for the calculations
或數學部分的問題。我從字符串中減去0使其成爲一個數字,所以我認爲我不應該得到NaN。我知道我搞砸了一些似乎對你很明顯的問題,但不要對我隱瞞。
$("tr").not(":first").each(function(){ var qnty = 0; $('select').change(function(){ qnty = $('select').val(); calcTotal(); }) function calcTotal(){ var price = (($(".price").text()) - 0).toFixed(2) $(".total").text(qnty * price); } })
要總結的問題。從第二次創建具有數據的行開始,計算不起作用。結果列中的結果是NaN。我顯然希望結果是Total列中每行的qnty *價格的計算。
這裏的jSfiddle來說明我的問題。
如果你使用parseInt函數或parseDouble而不是減去0,會發生什麼? –
我試着parseInt發生了同樣的事 –