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根本不起作用。
答案 0 :(得分:2)
因为当您使用.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()