Chrome jquery onchange counterup

Chrome jquery onchange counterup

本文关键字:counterup onchange jquery Chrome      更新时间:2023-09-26

https://jsfiddle.net/76mwc1pe/

$('#xnumber').change(function() {   
if ( $('#ynumber').val()  < $('#xnumber').val() ) 
{ 
        $('#ynumber').val($('#xnumber').val());   
}
} );

如果您进入xnumber字段并使用键盘上的向上箭头,应该会看到ynumber与xnumber相等。

这与值一致:

1) 从1到9,然后必须手动转到ynumber并强制其为11价值

2) 也工作到99,然后必须再次手动更改为101。

3) 超过101岁,没有问题你可以毫无问题地成长。

为什么要点1)和2)?

经过Chrome测试,Firefox根本无法运行。

因为当您使用.val()时,您访问的是字符串值,而不是整数。如果您将值转换为整数,它将如您所期望的那样工作,尽管您确实需要#xnumber:中的起始值

$('#xnumber').change(function() {
    if ( parseInt($('#ynumber').val(), 10)  <= parseInt($('#xnumber').val(), 10)    ) 
    { 
            $('#ynumber').val($('#xnumber').val());   
    }
    } );

JSFiddle:https://jsfiddle.net/76mwc1pe/4/

为什么我将xnumber id的输入设置为0?因为如果我们调用parseInt('', 10),它将返回NaN或"不是数字"。您可以通过在if中进行额外检查来处理此问题。

parseInt的第二个参数是基数或基数(当然,我们使用的是基数10)。

MDN:parseInt()