0

我的 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);
    }
}

怎么了?

4

1 回答 1

0

用于var声明所有变量,如果缺少这个,IE7 会出现问题。

var sign = (num == (num = Math.abs(num)));

var cents = num % 100;
于 2013-07-31T07:27:59.803 回答