在淘汰赛中使用货币javascript
Working with currency in knockout & javascript
在我的应用程序中,我有一个表格,其中有一些字段的钱。我也有一些knockout的customBinding来处理输入并为插入的值添加正确的货币符号(例如:55 -> $55 | 55€)。
当货币符号必须在插入的值之后时,问题开始了。然后,如果有人插入一些值,然后单击退格到我的KO绑定错误的值。
我的货币是欧元。我将'123'插入到我的输入中,并将我的绑定更改为'123€'。然后我点击退格键,我在绑定中设置的值是123,而不是12€或12。所以我有问题要知道输出值应该是什么样子。
这个问题有解决办法吗?我想过处理退格键或与货币符号进行一些比较,但也许有人知道更好的解决方案?
可以使用扩展器
ko.extenders.currency = function(target, options) {
var result = ko.computed({
read: target,
write: function(newValue) {
var current = target();
if((''+newValue).indexOf(options.currencySymbol) == -1){
if (options.position == 'left') {
target(options.currencySymbol+newValue);
} else {
target(newValue+options.currencySymbol);
}}
}
}).extend({ notify: 'always' });
result(target());
return result;
};
function AppViewModel(one, two) {
this.myNumberOne = ko.observable(one).extend({ currency: { currencySymbol : '£', position : 'left'}});
this.myNumberTwo = ko.observable(two).extend({ currency: { currencySymbol : '£', position : 'right'}});
}
ko.applyBindings(new AppViewModel(221.2234, 123.4525));
JSFiddle
相关文章:
- 使用JAVASCRIPT转换货币.可以't通过我的函数设置转换后的输入文本字段的值
- 在Javascript中,对于货币来说,是toFixed()足够精确
- 通过javascript在文本字段中显示货币格式
- AngularJS中货币过滤器的Javascript代码无法使用自定义符号
- 正则表达式货币格式 - javascript
- Javascript允许逗号和数字的货币货币文本框
- 数字、日期和日期的国际化(i18n);货币(JavaScript)
- 如何使用Javascript和Angular显示货币符号
- 更新Javascript货币计算器以实时计算多个总额
- 如何使用javascript在数字末尾添加货币
- 货币符号不't在javascript中正确显示
- JavaScript 美国货币格式
- HTML/Javascript 货币转换器
- 使用正则表达式在 Javascript 上验证货币不起作用
- 在 javascript 中货币的两位/三位后面添加逗号
- JavaScript 正则表达式货币仅限十进制
- Javascript 中的总计计算,用于处理货币格式(MinusSignNegative)
- JavaScript将货币转换为数千
- 正则表达式表示 JavaScript 中具有特定长度的货币
- 在淘汰赛中使用货币javascript