我有两个文本框,正在尝试验证
var max = $("#txtMaximumMark").val()
var min = $("#txtMinimumMark").val();
var valid = max > min;
如果我给出 10 作为最小值和 100 作为最大值,它表明给定值是有效的,但是如果我给出 40 作为最小值和 100 作为最大值,则有效返回 false,这里发生了什么,为什么它返回 false,任何人都可以帮助我这里...
我有两个文本框,正在尝试验证
var max = $("#txtMaximumMark").val()
var min = $("#txtMinimumMark").val();
var valid = max > min;
如果我给出 10 作为最小值和 100 作为最大值,它表明给定值是有效的,但是如果我给出 40 作为最小值和 100 作为最大值,则有效返回 false,这里发生了什么,为什么它返回 false,任何人都可以帮助我这里...
比较两个可以转换为数字的数字
max = parseInt(max);
min = parseInt(min);
因为比较strings
。Using.val()
返回字符串,因此当您比较它们时,它会将它们作为字符串进行比较。
在字符串中,4 高于 1,因此 40 高于 100(比如a
高于baaa
)。
要正确进行比较,请使用parseInt
将字符串转换为整数:
var valid = parseInt( max, 10 ) > parseInt( min, 10 );
如果 String 的 min 和 max 实例,则 40 > 100。
字符串不是整数。首先解析值:
var valid = parseInt( max, 10 ) > parseInt( min, 10 );
“40”大于“100”。但是当这些被转换为整数时,情况就不再如此了。