Knockout.js 在模糊和加载时在文本框中设置数字格式?使用击倒
我有一个类型为Number的文本框视图,我正在使用敲除验证插件成功验证是否输入了数字 但是这里出现了这样一种情况,我需要用Knockout.js 在模糊和加载时在文本框中设置数字格式?使用击倒,knockout.js,knockout-validation,knockout-kendo,Knockout.js,Knockout Validation,Knockout Kendo,我有一个类型为Number的文本框视图,我正在使用敲除验证插件成功验证是否输入了数字 但是这里出现了这样一种情况,我需要用逗号对输入的数字进行格式化,每四位数onBlur(百万格式) 我不知道如何继续执行此实现,但我只是有一些想法,但不知道如何将其变成图片(更好的想法将受到赞赏) 这是我的 要求:我将根据这个数字解释我的方案1234567890 onLoad我需要在文本框中将数字显示为1234567890 如果用户想要修改数字,则表示当他在文本框内单击时,数字应变为1234567890,以便他可
逗号
对输入的数字进行格式化,每四位数onBlur
(百万格式)
我不知道如何继续执行此实现,但我只是有一些想法,但不知道如何将其变成图片(更好的想法将受到赞赏)
这是我的
要求:我将根据这个数字解释我的方案1234567890
1234567890
1234567890
,以便他可以修改它(onblur排序)任何想法对我来说都是疯狂的。您可以创建两个输入:
- 默认情况下,输入1为只读且可见,并包含格式化的值
- 单击输入1时,将其隐藏,显示输入2,并将其聚焦于可编辑的实际值
- 当输入2“模糊”时,隐藏它并用格式化值显示输入1
window.onload=function(){
var vm={
val:ko.observable(),
瓦尔:柯({
读:函数(){
//数字格式
返回(vm.val()| |“”)+“[格式化]”;
},
评价:正确
}),
编辑模式:可观察(假),
toggleEdit:function(){
vm.editMode(!vm.editMode());
}
};
ko.应用绑定(vm);
};代码>
hasFocus:editMode
如果我在这里尝试Oops放置问题,我想我不会把焦点放出来:)我们必须将hasFocus
放在最后一个位置,以获得其完美的功能。非常感谢你的帮助
<div>
<input type="text" readonly data-bind="value: valFormatted,
visible: !editMode(),
click: toggleEdit" />
<input type="text" data-bind="value: val,
visible: editMode,
hasFocus: editMode,
event: { blur: toggleEdit}" />
</div>
window.onload = function() {
var vm = {
val: ko.observable(),
valFormatted: ko.computed({
read: function() {
// number format
return (vm.val() || '') + '[formatted]';
},
deferEvaluation: true
}),
editMode: ko.observable(false),
toggleEdit: function() {
vm.editMode(!vm.editMode());
}
};
ko.applyBindings(vm);
};