1

我有两个文本框,正在尝试验证

var max = $("#txtMaximumMark").val()
var min = $("#txtMinimumMark").val();

var valid = max > min;

如果我给出 10 作为最小值和 100 作为最大值,它表明给定值是有效的,但是如果我给出 40 作为最小值和 100 作为最大值,则有效返回 false,这里发生了什么,为什么它返回 false,任何人都可以帮助我这里...

4

4 回答 4

3

比较两个可以转换为数字的数字

max = parseInt(max);
min = parseInt(min);
于 2012-05-05T06:10:47.323 回答
2

因为比较strings。Using.val()返回字符串,因此当您比较它们时,它会将它们作为字符串进行比较。

在字符串中,4 高于 1,因此 40 高于 100(比如a高于baaa)。

要正确进行比较,请使用parseInt将字符串转换为整数:

var valid = parseInt( max, 10 ) > parseInt( min, 10 );
于 2012-05-05T06:09:09.343 回答
1

如果 String 的 min 和 max 实例,则 40 > 100。

于 2012-05-05T06:10:54.397 回答
1

字符串不是整数。首先解析值:

var valid = parseInt( max, 10 ) > parseInt( min, 10 );

“40”大于“100”。但是当这些被转换为整数时,情况就不再如此了。

于 2012-05-05T06:07:56.013 回答