我的jQuery代码在IE7中不起作用。
它可以在IE8,更高版本以及所有其他浏览器中使用。
$(document).ready(function () {
$("#ListingPriceFormatted").bind('input propertychange', function () {
$("#listingprice").val($("#ListingPriceFormatted").val().replace("$", "").replace(",", ""));
$("#ListingPriceFormatted").val(formatCurrency($("#ListingPriceFormatted").val(), false));
});
});
function formatCurrency(num, showCents) {
num = num.toString().replace(/\$|\,/g, '');
if (isNaN(num)) num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num * 100 + 0.50000000001);
cents = num % 100;
num = Math.floor(num / 100).toString();
if (cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3) ; i++)
num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
if (showCents) {
return (((sign) ? '' : '-') + '$' + num + '.' + cents);
}
else {
return (((sign) ? '' : '-') + '$' + num);
}
}
有什么问题?
答案 0 :(得分:0)
使用var
声明所有变量,如果缺少IE7则会出现问题。
var sign = (num == (num = Math.abs(num)));
var cents = num % 100;