更改输入文本中的数字格式

我想用(<[2-20000]>)以千为单位更改数字格式,例如,2000年到2,000,20000到20,000,以此类推。 我试过浏览,找到了一个合适的库,它是cleave.js, 但是这个库有一个问题,那就是我只能识别一个选择器,而我想要更改的输入文本很多,有没有人有其他的解决方案?

var cleave = new Cleave('.loan_max_amount', {
    numeral: true,
    numeralThousandsGroupStyle: 'thousand'
});

解决方案

一次只能将分割实例应用于一个元素:

.input-element这里是唯一的DOM元素。如果你想申请 对于多个元素,您需要提供不同的CSS选择器 并有效地应用于其中的每一个,您可能希望创建 通过循环实现单个实例

-Cleave Documentation

遵循此建议,您可以通过使用.querySelectorAll().forEach()循环您的类中的所有元素来实现这一点,并如下所示对每个元素应用一个分裂实例:

document.querySelectorAll('.loan_max_amount').forEach(inp => new Cleave(inp, {
  numeral: true,
  numeralThousandsGroupStyle: 'thousand'
}));
<script src="https://cdn.jsdelivr.net/npm/cleave.js@1.5.3/dist/cleave.min.js"></script>

<input type="text" class="loan_max_amount" />
<input type="text" class="loan_max_amount" />

相关文章