想要重复使用 jQuery 函数使得一个函数可以反复使用

Want to reuse jQuery function making a function to use again and again

<script>
    // Roti6p20tk
    $(function () {
        $("#distributedPacketForRoti6p20tk, #bonusForRoti6p20tk, " +
            "#replaceForRoti6p20tk, #returnForRoti6p20tk").on("keydown keyup", sumForRoti6p20tk);
        function sumForRoti6p20tk() {
            $("#totalSalePacketForRoti6p20tk").val(Number($("#distributedPacketForRoti6p20tk").val())
                - Number($("#bonusForRoti6p20tk").val()) -
                Number($("#replaceForRoti6p20tk").val()) - Number($("#returnForRoti6p20tk").val())
            );

            $("#salesInAmountForRoti6p20tk").val(Number($("#totalSalePacketForRoti6p20tk").val()) * 20
            );
        }
    });

    // Roti4p14tk
    $(function () {
        $("#distributedPacketForRoti4p14tk, #bonusForRoti4p14tk, " +
            "#replaceForRoti4p14tk, #returnForRoti4p14tk").on("keydown keyup", sumForRoti4p14tk);
        function sumForRoti4p14tk() {
            $("#totalSalePacketForRoti4p14tk").val(Number($("#distributedPacketForRoti4p14tk").val())
                - Number($("#bonusForRoti4p14tk").val()) -
                Number($("#replaceForRoti4p14tk").val())
                - Number($("#returnForRoti4p14tk").val())
            );

            $("#salesInAmountForRoti4p14tk").val(Number($("#totalSalePacketForRoti4p14tk").val()) * 14
            );
        }
    });

    // final sum For Roti
    $(function () {
        $("#extSaleForRoti6p20tk, #extSalesForRoti4p14tk, " +
            " #dueReceivedForRoti, #dueInAmountForRoti, " +
            "#expAndComForRoti").on("keydown keyup", finalsumForRoti);
        function finalsumForRoti() {
            $("#totalSaleAmountForRoti").val(Number($("#extSaleForRoti6p20tk").val())
                + Number($("#extSalesForRoti4p14tk").val()) +
                Number($("#salesInAmountForRoti6p20tk").val())
                + Number($("#salesInAmountForRoti4p14tk").val())
            );

            $("#totalReceivedForRoti").val(Number($("#totalSaleAmountForRoti").val())
                + Number($("#dueReceivedForRoti").val())
                - Number($("#dueInAmountForRoti").val())
                - Number($("#expAndComForRoti").val())
            );
        }
    });

</script>

这是html代码

This is my HTML code With Jquery function

我想重用这些 jquery 功能。我只想发送参数,然后这个函数将为所有人做同样的工作。

以上这些函数将与我发送参数的方式相同。 如何重用 jquery 函数而无需一次又一次地复制粘贴? 能告诉我方法或教程吗?

我想重用代码。我需要它超过五次。但我需要复制粘贴它并更改 id 或变量,但我想创建一个可以执行相同操作的函数。我需要每次都发送参数。 :)

您可以编写一个 Javascript 函数,将 ID 列表作为参数。

function sumForFields(totalid, salesid, inputids, salesmultiplier) {
    $(inputids.join(',')).on("keydown keyup", function() {
        var total = Number($(inputids[0]).val());
        for (var i = 1; i < inputids.length; i++) {
            total -= Number($(inputids[i]).val());
        }
        $(totalid).val(total);
        $(salesid).val(total * salesmultiplier);
    });
}

那你可以这样写:

sumForFields('#totalSalePacketForRoti6p20tk', '#salesInAmountForRoti6p20tk', 
            ['#distributedPacketForRoti6p20tk', '#bonusForRoti6p20tk', '#replaceForRoti6p20tk', '#returnForRoti6p20tk'], 
            20);

这是前两个功能。最后一个有不同的结构,因为它在组合字段时混合了加法和减法,而不是像前两个一样只减去所有内容。