2011-09-29 70 views
0

我有一個ID爲fnlprce的文本框我想檢索它的值,從中減去50並將其更新爲最新值,這段代碼可以工作:無法檢索文本框的值並從中減去

function updateDiscount() { 
    var iniprce = parseInt($("#fnlprce").text()); 
    var fnlprce = iniprce-50; 
    $("#dscntdprce").html("Price: " + fnlprce + "); 
    $("fnlprce").html(fnlprce); 
} 

可是,我錯了獲得,因爲它是顯示輸出, '男',指導,請:)

+0

刪除最後一個「+「」從3號線,給出了一個JavaScript錯誤。但是,不會解釋你的NaN輸出。如果你使用VAL(),而不是文本會發生什麼()檢索當值? –

+0

你的代碼中有語法錯誤,你可以通過最後兩行的高亮顯示來看 –

+0

對於金錢,你應該使用'parseFloat(「1.99」)toFixed(2);'而不是'parseInt '。 –

回答

4

變化

var iniprce = parseInt($("#fnlprce").text()); 

var iniprce = parseInt($("#fnlprce").val()); 

因爲val()是該文本框的當前值。

除此之外,改變

$("#dscntdprce").html("Price: " + fnlprce + "); 

$("#dscntdprce").html("Price: " + fnlprce); 

,因爲你的一個有語法錯誤

+0

不要忘了將基數作爲第二個參數傳遞給'parseInt'。 –

2

使用.val(),而不是.text()作爲輸入的值在其value=屬性被發現,並而不是作爲其內部的文本節點。

function updateDiscount() { 
    var iniprce = parseInt($("#fnlprce").val(), 10); 
    var fnlprce = iniprce - 50; 
    $("#dscntdprce").html("Price: " + fnlprce); 
    $("#fnlprce").html(fnlprce); 
} 
+0

呵呵,4k?對我來說好消息:p – genesis

+0

:P祝賀20k:p –

+0

謝謝:)我也看到了:) – genesis