我正在尝试使用 javascript 将用户输入的数字格式化为货币。这适用于 <input type="text" />
。但是,在 <input type="number" />
上,我似乎无法将值设置为包含非数字值的任何值。以下小提琴显示了我的问题
无论如何我可以将值设置为 $125.00
?
我想使用 <input type="number" />
以便移动设备知道要调出键盘进行数字输入。
原文由 Danny 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试使用 javascript 将用户输入的数字格式化为货币。这适用于 <input type="text" />
。但是,在 <input type="number" />
上,我似乎无法将值设置为包含非数字值的任何值。以下小提琴显示了我的问题
无论如何我可以将值设置为 $125.00
?
我想使用 <input type="number" />
以便移动设备知道要调出键盘进行数字输入。
原文由 Danny 发布,翻译遵循 CC BY-SA 4.0 许可协议
添加 step="0.01"
到 <input type="number" />
参数:
<input type="number" min="0.01" step="0.01" max="2500" value="25.67" />
演示:http: //jsfiddle.net/uzbjve2u/
但是美元符号必须留在文本框之外……每个非数字或分隔符都将被自动裁剪。
否则,您可以使用经典文本框, 如此处所述。
原文由 Andrea Ligios 发布,翻译遵循 CC BY-SA 3.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
最后,我制作了一个 jQuery 插件,它将为我适当地格式化
<input type="number" />
。我还注意到一些移动设备上的min
和max
属性实际上并不能阻止您输入比指定更低或更高的数字,因此插件也会考虑这一点。下面是代码和示例: