为什么这些javascript表单计算在Safari和Firefox中不起作用,但它们在Chrome中起作用

时间:2012-01-07 06:40:38

标签: javascript jquery math

我正在运行以下代码:前两个小函数有效,因为我使用的是jquery计算插件...最后3个在Firefox和Safari中失败但在Chrome中工作

<script type="text/javascript">
$(document).ready(function() {      
    $("input[id^='balance']").sum("keyup", "#totalbalance");
    $("input[id^='payment']").sum("keyup", "#totalpayment");

    $('input.ltv1, input.ltv2').click(function() {
        var ltv1 = parseFloat($('.ltv1').val()||"0");
        var ltv2 = parseFloat($('.ltv2').val()||"0");
        result = ltv2/ltv1;
        total = parseInt(result);
        $('.ltv').text(total);
    }); 

    $('input.bal1, input.bal2, input.bal3, input.ltv2').change(function() {
        var bal1 = parseFloat($('.bal1').val() || "0");
        var bal2 = parseFloat($('.bal2').val() || "0");
        var bal3 = parseFloat($('.bal3').val() || "0");
        var bal = bal1 + bal2 + bal3
        var hv = parseFloat($('.ltv2').val() || "0");
        result = bal / hv;
        total = parseInt(result);
    $('.clv').text(total);
    });

    $('input.bal1, input.bal2, input.bal3, input.income').change(function() {
        var bal1 = parseFloat($('.bal1').val() || "0");
        var bal2 = parseFloat($('.bal2').val() || "0");
        var bal3 = parseFloat($('.bal3').val() || "0");
        var bal = bal1 + bal2 + bal3
        var income = parseFloat($('.income').val() || "0");
        result = bal / income;
        total = parseInt(result);
        $('.dti').text(total);
    });

});

</script>

我不是最好的javascript,所以我把它拼凑在一起......

无论如何,该网站是http://settlementprep.com/pre-qual/homeowner/,小方框显示不同的计算:贷款到价值和贷款合并贷款不起作用..

任何人都有线索?

感谢

1 个答案:

答案 0 :(得分:0)

在您的javascript中,我看到了:

$('.ltv').text(total);

但是,在您的网页中,我看不到任何带有class="ltv"的对象。我看到这个HTML:

<p id="ltv"></p>

这意味着你的javascript代码应该是这样的:

$('#ltv').text(total);

.clv似乎也是如此。代码和HTML不匹配。

仅供参考,我还看到了未声明的全局变量,如resulttotal。这些应该是局部变量(在第一次使用前使用var来使它们成为局部变量)。

相关问题