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