gpt4 book ai didi

javascript - 在多个 GridView /表上使用相同的函数

转载 作者:行者123 更新时间:2023-12-03 10:50:01 24 4
gpt4 key购买 nike

我有 6 个 ASP GridView ,需要对每个 GridView 进行相同的计算。我可以对该函数进行 6 次硬编码,但正在寻找一种更有效的方法。

我在做什么:每个 gv 的每行有 3 个输入框,我需要计算平均值并将其发送到最后一列的 lbl。

这是我为第一部 gv 所做的事情:

function calculate() {
//********************
//Development Grid
//********************
//Find the number of rows in the grid
var rowCount = $('#devGV tr').length;
//Iterate through each row looking for the input boxes
for (var i = 0; i < rowCount; i++) {
//convert the total variable to an int
var total = 0;
parseInt(total);
//This variable is for tracking the number of actual fields that are populated.
//Not all the text fields will always be needed, so the average will not always be calculated by dividing by 3
var averNum = 0;
//Iterate through each text box
$("#devGV tr:eq(" + i + ")").find(":input[type=text]").each(function () {
//Convert the value to an int
var thisValue = parseInt($(this).val());
//In the value is blank, change it to 0 for calculation purposes
if (isNaN(thisValue) || thisValue == 0) {
thisValue = 0;
}
else {
averNum += 1;
}
total = (total + thisValue);
});
//Populate the totals label for each row
total = total / averNum;
total = total.toFixed(2);
//In the value is blank, change it to 0 for calculation purposes
if (isNaN(total)) {
total = 0;
}
$("#devGV tr:eq(" + i + ")").find("[class$='RowTotals']").text(total);
}
}

上述函数由每个文本字段上的“onBlur”触发。有没有办法让这个 block 适用于所有 GridView ?我确信这只是更新选择器的问题,但我不知道如何做到这一点。

最佳答案

最简单的可能是传递一个 jquery 对象来计算函数:

function calculate(gv) {

然后使用 .find() 代替您拥有 ID 的位置,例如“查找网格中的行数”:

var rowCount = gv.find('tr').length;

我之所以说将 jQuery 对象传递到函数(而不是它的字符串 ID)更容易,是因为它可以让您执行如下操作:

$('.some-gridview-css-class').each(function() {
calculate($(this));
});

显然,将该选择器替换为能够为您识别 6 个 GridView 的任何选择器。

编辑:哦,我读得不够仔细。您想在文本框的模糊上执行此操作。这意味着您想要这样的东西:

$(document).ready(function() {
$(body).on('blur', 'input-fields-selector', function() {
calculate($(this).closest('gridview-selector'));
});
});

您必须用选择器替换 input-fields-selector 和 gridview-selector 才能找到适当的字段(这取决于您的 HTML)。

关于javascript - 在多个 GridView /表上使用相同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28453483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com