首页 > 解决方案 > 更改输入文本中的数字格式

问题描述

我想用 ( ,) 以千为单位更改数字格式,例如 2000 到 2,000 20000 到 20,000 等等。我尝试浏览并找到了一个合适的库 cleave.js,但是这个库中有一个问题是我只能识别一个选择器,而我想更改很多输入文本,有没有人还有其他解决方案吗?

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

标签: javascriptjqueryjavascript-objectscleave

解决方案


您一次只能将一个 cleave 实例应用于一个元素:

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

-切割文档

按照这个建议,您可以通过使用.querySelectorAll()with.forEach()来循环使用您的类的所有元素并将 cleave 实例应用于每个元素,如下所示:

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" />


推荐阅读