初始化后如何更新选项或更改货币
How to update options or change currency after initialized
我正在使用 https://github.com/autoNumeric/autoNumeric/blob/master/README.md#options-update
并且不知道如何更新 AutoNumeric 中的选项
所以预期的结果是根据我的选择更改货币
但是显示错误update is not a function
还是我错过了有关我一直在使用的更新的某些信息?
document.getElementById('anPrice_set').addEventListener('change',autoNumericLoad)
var an_obj
function autoNumericLoad() {
var elemPrice = document.getElementById("anPrice_set")
var priceSelect = elemPrice.options[elemPrice.selectedIndex].value
var elemsPrice = document.querySelectorAll('[name="price"], #amount')
if (AutoNumeric.isManagedByAutoNumeric(elemsPrice[0])) {
an_obj.update(AutoNumeric.getPredefinedOptions()[priceSelect]) //**
} else {
an_obj = AutoNumeric.multiple('[name="price"], #amount', AutoNumeric.getPredefinedOptions()[priceSelect])
}
}
document.addEventListener('DOMContentLoaded',() => {
autoNumericLoad()
document.getElementById('anPrice_set').addEventListener('change',autoNumericLoad)
})
<script src="https://unpkg.com/autonumeric@4.6.0/dist/autoNumeric.min.js"></script>
<div>
<label for="anPrice_set">*Currency*</label>
<select id="anPrice_set">
<option value="dollar">,234,567.89 - dollar</option>
<option value="dotDecimalCharCommaSeparator">1,234,567.89</option>
<option value="commaDecimalCharDotSeparator">1.234.567,89</option>
<option value="euro">1.234.567,89 € - euro</option>
<option value="integer">1,234,568</option>
<option value="French">1.234.567,89 € - French</option>
<option value="Spanish">1.234.567,89 € - Spanish</option>
<option value="NorthAmerican">,234,567.89 - NorthAmerican</option>
<option value="British">£1,234,567.89 - British</option>
<option value="Swiss">1'234'567.89 CHF - Swiss</option>
<option value="Japanese">¥1,234,567.89 - Japanese</option>
<option value="Chinese">¥1,234,567.89 - Chinese</option>
<option value="Brazilian">R.234.567,89 - Brazilian</option>
<option value="Turkish">1.234.567,89₺ - Turkish</option>
<option value="numeric">1234567.89</option>
</select>
</div>
<div>
<input name="price">
<input name="price">
<input name="price">
<input id="amount">
</div>
查看将 an_obj
分配给 Autonumeric
实例所需的文档,例如:
const an_obj = new AutoNumeric(domElement);
然后您就可以为 an_obj
致电 update
我正在使用 https://github.com/autoNumeric/autoNumeric/blob/master/README.md#options-update
并且不知道如何更新 AutoNumeric 中的选项
所以预期的结果是根据我的选择更改货币
但是显示错误update is not a function
还是我错过了有关我一直在使用的更新的某些信息?
document.getElementById('anPrice_set').addEventListener('change',autoNumericLoad)
var an_obj
function autoNumericLoad() {
var elemPrice = document.getElementById("anPrice_set")
var priceSelect = elemPrice.options[elemPrice.selectedIndex].value
var elemsPrice = document.querySelectorAll('[name="price"], #amount')
if (AutoNumeric.isManagedByAutoNumeric(elemsPrice[0])) {
an_obj.update(AutoNumeric.getPredefinedOptions()[priceSelect]) //**
} else {
an_obj = AutoNumeric.multiple('[name="price"], #amount', AutoNumeric.getPredefinedOptions()[priceSelect])
}
}
document.addEventListener('DOMContentLoaded',() => {
autoNumericLoad()
document.getElementById('anPrice_set').addEventListener('change',autoNumericLoad)
})
<script src="https://unpkg.com/autonumeric@4.6.0/dist/autoNumeric.min.js"></script>
<div>
<label for="anPrice_set">*Currency*</label>
<select id="anPrice_set">
<option value="dollar">,234,567.89 - dollar</option>
<option value="dotDecimalCharCommaSeparator">1,234,567.89</option>
<option value="commaDecimalCharDotSeparator">1.234.567,89</option>
<option value="euro">1.234.567,89 € - euro</option>
<option value="integer">1,234,568</option>
<option value="French">1.234.567,89 € - French</option>
<option value="Spanish">1.234.567,89 € - Spanish</option>
<option value="NorthAmerican">,234,567.89 - NorthAmerican</option>
<option value="British">£1,234,567.89 - British</option>
<option value="Swiss">1'234'567.89 CHF - Swiss</option>
<option value="Japanese">¥1,234,567.89 - Japanese</option>
<option value="Chinese">¥1,234,567.89 - Chinese</option>
<option value="Brazilian">R.234.567,89 - Brazilian</option>
<option value="Turkish">1.234.567,89₺ - Turkish</option>
<option value="numeric">1234567.89</option>
</select>
</div>
<div>
<input name="price">
<input name="price">
<input name="price">
<input id="amount">
</div>
查看将 an_obj
分配给 Autonumeric
实例所需的文档,例如:
const an_obj = new AutoNumeric(domElement);
然后您就可以为 an_obj
update