Javascript 键入时在值的末尾添加.00
我正在处理一个只接受数字的简单字段,我想在键入时在值的末尾添加“.00”。例1000.00 问题是我无法实现该格式,在1位数之后,它会添加“.00”和无法再键入 我试过了,但没有成功 这是我的Javascript 键入时在值的末尾添加.00,javascript,jquery,Javascript,Jquery,我正在处理一个只接受数字的简单字段,我想在键入时在值的末尾添加“.00”。例1000.00 问题是我无法实现该格式,在1位数之后,它会添加“.00”和无法再键入 我试过了,但没有成功 这是我的 $(文档).ready(函数(){ $(“输入”).keyup(函数(){ var val=parseInt($(this.val()); $(this.val(val.toFixed(2)); }); }); 像这样使用模糊功能: $("input").blur(function(){ va
$(文档).ready(函数(){
$(“输入”).keyup(函数(){
var val=parseInt($(this.val());
$(this.val(val.toFixed(2));
});
});代码>
像这样使用模糊功能:
$("input").blur(function(){
var val = parseInt($(this).val());
if(val){
$(this).val(val.toFixed(2));
}else{
$(this).val(0);
$(this).focus();
}
});
如果您想做的是键入1
并立即获得1.00
,然后键入2
,您将获得12.00
,那么您需要保存光标位置(如所述)
- 所以你想得到当前光标的位置
- 格式化输入数据
- 更新
输入元素
- 将光标位置恢复到所需位置(取决于光标应移动的位置)
我想你应该试试focusout事件
$(document).ready(function(){
$("input").focusout(function(){
var val = parseInt($(this).val());
$(this).val(val.toFixed(2));
});
});
试试这个:
$('input')。在('input',function()上{
var val=$(this.val(),
arr=val.split('.');
如果(arr.length>1)
$(this.val(arr[0]+val.substr(val.length-1)+'.00')
其他的
$(this.val)(val+'.00')
})。开启(‘按键’,功能(e){
返回e.charCode==46 | |(e.charCode>=48&&e.charCode