2016-02-20 56 views
0

我對一些我的觀點使用react.js!我將我的列max_budget更改爲十進制,並將默認值添加爲0,所以現在默認爲0.0! 我有一個按鈕,點擊它後,每次點擊時它會將最大預算增加2!我面臨的問題! 默認爲0.0,每次我點擊按鈕添加2到0.0,使它2.0它混淆了它,並在0.0結尾添加2爲0.02,如果我按它幾次它保持加2在最後像0.022222 按鈕的代碼是:在0.0十進制數中添加數字時遇到問題

changeTip: (e) -> 
e.preventDefault() 
name = e.currentTarget.name # http://www.w3schools.com/jsref/event_currenttarget.asp 
if name == "increase" 
    max_budget = @props.max_budget + 2 
else 
    max_budget = @props.max_budget - 2 
data = max_budget: max_budget 
@props.saveJobValues(data) 

如何應該修復它等等加入2它顯示我2.0代替0.02

+1

顯然'@ props.max_budget'是一個字符串而不是浮點數。你可以使用'parseFloat(@ props.max_budget)'將其強制浮動。 – Mischa

+0

@ props.max_budget是一個十進制默認值爲0.0 – bilal

+0

parseFloat作品不錯!現在它工作正常,並使0.0到2,如果我加2!但我不添加2.0它只是增加2我希望它到1小數位! – bilal

回答

0

使用HTML5與

<input type="number" min="1.0" max="5.0" step="0.01"> 

爲僅接受浮點值作爲輸入。它會接受「。」其次是數量還可以,但拒絕 「」(<input type="number" min="1" max="5">爲小數。)

更改您的代碼

changeTip: (e) -> 
e.preventDefault() 
name = e.currentTarget.name # http://www.w3schools.com/jsref/event_currenttarget.asp 
if name == "increase" 
    max_budget = parseFloat(@props.max_budget) + 2.0 
else 
    max_budget = parseFloat(@props.max_budget) - 2.0 
data = max_budget: max_budget 
@props.saveJobValues(data) 

(添加parseFloat爲@Mischa提到)。爲了可讀性,我建議將「2」寫爲「2.0」(因此更容易看到你處理浮動)

+0

試過!但仍然拒絕「。」,並且即使我寫「2」,也使字段爲空 – bilal

+0

。或「。」它使得該字段爲空 – bilal

+0

至極瀏覽器(版本,手機?,操作系統)你使用?有一個出自http://caniuse.com/#search=number? 否則使用填充工具 https://github.com/jonstipe/number-polyfill 或者你得檢查染色體使用最新版本的NULL –