与jquery比较两个值
我试图从JQuery检查两个文本字段的值。我需要比较美元金额,以查看新输入的值是否大于原始金额。结果不是我所期待的。第一个值通过PHP OrigAMTVal
预填充,第二个值amtTOrefundVal
由用户输入。下面的代码:与jquery比较两个值
$('#doREFUND').on("click", function() {
var amtTOrefundVal = $('.amtTOrefund').val();
var OrigAMTVal = $('.CustomerOrderTotal').val();
var doamtTOrefund = parseInt(amtTOrefundVal).toFixed(2);
var doOrigAMT = parseInt(OrigAMTVal).toFixed(2);
if(doamtTOrefund > doOrigAMT) {
var balance = OrigAMTVal - doamtTOrefund;
alert("BAD: $" + balance + " Over Limit");
} else {
var balance = OrigAMTVal - doamtTOrefund;
alert("GOOD: $" + balance + " Left to Go");
}
});
这里有一个小提琴: http://jsfiddle.net/dM2Fr/2/
我知道我失去了一些东西,但我无法弄清楚。
toFixed
返回一个字符串,只比较那些没有的值。
问题是你比较字符串和"174 > "1000"
是否属实。
P.S.您应该使用parseInt(value, 10)
。
非常好的一点,只是想到了关于toFixed自己...肯定'typeof ===“string”' – 2012-08-14 18:53:45
十进制值呢?如果我做了174.99它不使用.99作比较? – Monty 2012-08-14 18:59:59
@Monty:啊,没有想到这一点。将'parseInt'改为'parseFloat'。 – 2012-08-14 19:01:24
你的值是否领先0?您在使用* parseInt *时未指定基数,因此这可能会导致奇怪的结果。总是使用* parseInt(value,10)* – m90 2012-08-14 18:48:41