0

誰かが次のコードを手伝ってくれますか? 正しくないようです。

コールバックからブール値を返し、続行しても問題ないかどうかを確認するにはどうすればよいですか。

ブール値は常に true で、 false が返されることはないようです。

また、コードを修正した後、コードがどのように機能するかを説明してください。ありがとうございました。

$("#divContent").on('blur', "input[id^='cak4premium0']", function () {
    var selectedPayoutFreq = $('input[name=SelectedPayoutFrequency]:checked').val();

    if (typeof selectedPayoutFreq === "undefined") {
        alert("Please select Payout Frequency");
        return;
    }

    var selectedValue = $(this).val();

    if (selectedValue = '') {
        alert("Please enter Premium");
        return;
    }

    var premiumValid = checkPremiumAmount();

    if (premiumValid) {
        var url = "/Annuity/Home/CalculateAnnuityPayout";
        var data = GetAnnuityMainPlan();
        data.SelectedPayoutFrequency = selectedPayoutFreq;
        $.post(url, data, DisplayCountAnnuity);
    }

});

function checkPremiumAmount() {
    var url = "/Annuity/Home/GetAnnuityMinMaxPremium";
    var data = GetAnnuityMainPlan();
    var currentPlan = $('.selectPlan').val();
    var retValue = true;
    $.post(url, data, null).done(function (data) {
        minPremium = data.MinPremium;
        maxPremium = data.MaxPremium;
        var premium = data.Premium;
        if (premium < minPremium) {
            if (currentPlan == 'CAK4') {
                alert("The minimum Premium is $" + minPremium);
                $("input[id^='cak4premium0']").val(minPremium);
                retValue = false;
            }
            else if (currentPlan == 'GAK4') {
                alert("For single premium less than " + minPremium + ", annuity installment will be paid yearly.");
                $("input[id^='cak4premium0']").val(minPremium);
                retValue = false;
            }
        }


        if (premium > maxPremium) {
            alert("The maximum Premium is " + maxPremium);
            $("input[id^='cak4premium0']").val(maxPremium);
            retValue = false;
        }

        return retValue;
    });

}
4

1 に答える 1