我有一个名为UPO的部分,其中up​​oCost是表单上的部分。我使用此代码来检测UPO是否可见,并因此增加/减去该部分的基本成本。

$("#showUPO").click(function(){
    $("#sectionUPO").toggle();
    if ($("#sectionUPO").is(":hidden")){
        upoCost-=5;
        $("#upoEmailCost").val(upoCost);
    }
    else {
        upoCost+=5;
        $("#upoEmailCost").val(upoCost);
    }
})


因此,每当我单击按钮时,该部分的成本都会更新,但是该表单的总成本却没有。

$("form").on("change", function(){
    var sum = upoCost; // + other costs;
    $("#reqTotalCost").val(sum);
})


我想知道是否有一种方法可以使用类似的.on(“ change”)方法捕获它?

最佳答案

$("#upoEmailCost").val(upoCost).trigger('change');


尝试手动触发更改事件以弹出表单。对元素的逻辑更改不会固有地生成事件。

$("#showUPO").click(function(){
    var $upo = $("#sectionUPO").toggle();

    if ($upo.is(":hidden")){
        upoCost-=5;
    } else {
        upoCost+=5;
    }

    $("#upoEmailCost").val(upoCost).trigger('change');
});

关于javascript - 如何检测表单更改的切换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51450351/

10-12 17:11