我想在我的输入字段中有一千个分隔符(例如1,000,000).然而,它必须是类型号,因为我需要能够使用“step”调整其值.码:
<input type="number" id='myNumber' value="40,000" step='100'>
我尝试使用Javascript来调整值,但没有工作.任何帮助将不胜感激.谢谢!
解决方法
您可以使用伪元素显示逗号版本来伪造此功能.
div[comma-value]{ position:relative; } div[comma-value]:before{ content: attr(comma-value); position:absolute; left:0; } div[comma-value] input{ color:#fff; }
需要换行div,因为输入不能有伪元素.
<div> <input type="number" id='myNumber' value="40000" step='100'> </div>
还有一点JavaScript插入每三个字符的逗号
myNumber.value = commify(myNumber.value) myNumber.addEventListener("change",function(){ commify(event.target.value) }) function commify(value){ var chars = value.split("").reverse() var withCommas = [] for(var i = 1; i <= chars.length; i++ ){ withCommas.push(chars[i-1]) if(i%3==0 && i != chars.length ){ withCommas.push(",") } } var val = withCommas.reverse().join("") myNumber.parentNode.setAttribute("comma-value",val) }
查看fiddle