想要重复使用 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);
这是前两个功能。最后一个有不同的结构,因为它在组合字段时混合了加法和减法,而不是像前两个一样只减去所有内容。
<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);
这是前两个功能。最后一个有不同的结构,因为它在组合字段时混合了加法和减法,而不是像前两个一样只减去所有内容。