javascript – HTML输入类型数字千分隔符

前端之家收集整理的这篇文章主要介绍了javascript – HTML输入类型数字千分隔符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的输入字段中有一千个分隔符(例如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

猜你在找的JavaScript相关文章