【问题标题】:Formatting percentage using Inputmask使用 Inputmask 格式化百分比
【发布时间】:2017-10-03 06:46:46
【问题描述】:
我正在使用 Herbots 的 InputMask,它运行良好,但我注意到它可以处理百分比,因此掩码为“0.00%”的值 0.4 被格式化为“0.4%”。
嗯,当然。说得通。除了我处理的是实际百分比值,它是一个介于 0 和 1 之间的值,因此 0.4 应该显示为带有所述掩码的“40.00%”。
我之前遇到过这个问题(使用其他屏蔽系统)并尝试通过将传入值乘以 100 并在输出时将其除以在表单级别修复它,但这是一件丑陋的事情。 InputMask(预处理器或自定义挂钩)中有什么东西可以让我将实际值格式化为适当的百分比吗?
【问题讨论】:
标签:
javascript
jquery
percentage
【解决方案1】:
好的,我解决这个问题的方法是使用 onBeforeMask 和 onUnMask 函数。在 Clojure 中,它是:
:onBeforeMask (fn [value opts] (str (* 100 (cljs.reader/read-string value))))
:onUnMask (fn [maskedvalue unmaskedvalue] (str (/ unmaskedvalue 100)))
如果有的话,我仍然会相信按摩数据的替代方法。关键似乎是 onBeforeMask 给你一个字符串并期望一个字符串返回,其中 onUnMask 会给你一个数字(但仍然期望一个字符串返回)。