2013-05-20 31 views
-1

當我這樣做:百分比約束改變週期以逗號

var percentTextBox = new PercentTextBox({ 
           type: "value", 
           name: "percentEntry", 
           id: "percent", 
           value: 45.78, 
           constraints: {type: 'percent'}, 
           required: true 
          }, 
          dojo.byId("txtPercent")); 
         percentTextBox.startup(); 

我在文本框中得到這樣的:

4,578%

當我專注迴文本框,又回到45.78像它應該

+0

我依稀記得之前也遇到過這種情況 - 我相信'percent'約束期望值在0和1之間。 – BuffaloBuffalo

+0

但用戶可以輸入例如55.67或其他 – PositiveGuy

回答

0

這是一個共同的標準符號,百分號應該乘以你的價值100.

Dojo支持自定義格式,其符號爲this document。根據該文件,您可以使用單引號轉義百分號,因此您應該使用以下模式:#,##0.##'%。我在JSFiddle上試了這個,但似乎Dojo忽略了這個符號(所以它仍然會解釋百分號並乘以100)。

但是,您可以使用「假」百分號(\u066A)作爲解決方法。它不如你想要的那麼好,但爲了使它與百分號一起工作,我建議開啓一個問題。一個可用的JSFiddle可以在here找到。您可能會注意到正常百分號與此符號之間的差異。

但是,最好的解決方案不是使用百分比類型,而是將其放在文本框的後面,或者您可以創建自己的小部件。