下面的jQuery / JS有什么问题吗?我有一个输入字段aAmt,在下面的更改调用中。来自数据库的${dAmt} = "10000"。它基本上将数字转换为$格式(例如23到$ 23.00),并将值集中到输入字段。问题是if循环(if(aAmt >= a_amount)...)失败。

即使条件失败,它也会进入if循环并显示不应发生的div。我在开发人员控制台中看不到任何错误。

$('#aAmt').change(function() {
    var aAmt = $("#aAmt").val();
    var a_amount = "${dAmt}";
    curFormat(aAmt);
    if(aAmt >= a_amount)
    {
        $("#dsDiv").show();
    }else{
        $("#dsDiv").hide();
    }

});

function curFormat(aAmt)
{
    var nAmt = Number(aAmt.replace(/[^0-9\.]+/g,""));
    var fAmt = '$' + nAmt.toFixed(2).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
    document.getElementById("aAmt").value = fAmt;
}

最佳答案

您是否尝试过将a_amount转换为int,以确保将两个整数进行比较:

var a_amount = parseInt("${dAmt}");

09-26 10:30