Javascript 无法以编程方式更新移动输入
因此,我有一个Javascript 无法以编程方式更新移动输入,javascript,jquery,input,Javascript,Jquery,Input,因此,我有一个输入[type=“number”](最好带有模式=“[0-9]*”属性,以便在iOS中显示正确的键盘(iPhone在iPad上不工作)) 当我以编程方式更新该值时,iOS会把它搞砸,Android会完全拒绝工作 我这里有一个小测试用例: 基本上,键盘(至少在iOS上)不会给你一个小数位,所以我想为用户添加一个小数位 $('input').on('keyup', function(){ var val = this.value.replace('.',''); if(
输入[type=“number”]
(最好带有模式=“[0-9]*”
属性,以便在iOS中显示正确的键盘(iPhone在iPad上不工作))
当我以编程方式更新该值时,iOS会把它搞砸,Android会完全拒绝工作
我这里有一个小测试用例:
基本上,键盘(至少在iOS上)不会给你一个小数位,所以我想为用户添加一个小数位
$('input').on('keyup', function(){
var val = this.value.replace('.','');
if(val.length <= 2){
this.value = '.'+val
}else{
this.value = val.slice(0,-2) +'.'+ val.slice(-2);
}
});
$('input')。在('keyup',function()上{
var val=此.value.replace('.','');
如果(val.length我想我可以用input type=“number”
替换input type=“number”
,它提供了一个类似的键盘,可以在iOS/Android上正常工作,但会带来额外的字符,;+*#-()N
因此,我提出的解决方案是使用type=“tel”
并去掉那些额外的字符
$('input').on('keyup change', function() {
var val = this.value;
val = val.replace(/\D/g, '');
if (val.length <= 2) {
this.value = '.' + val;
} else {
this.value = val.slice(0, -2) + '.' + val.slice(-2);
}
});
$('input')。在('keyup change',function()上{
var val=该值;
val=val.replace(/\D/g');
if(val.length