假设我在下面具有此功能:
function highlightRed() {
setTimeout(function() {
var grid = $("#grid1").data("kendoGrid");
var data = grid.dataSource.view();
$.each(data, function (i, row) {
var element = $('tr[data-uid="' + row.uid + '"] ');
if (row.active == "n") {
$(element).css("background-color", "#F99AA1");
}
});
}, 10);
}
在此函数中,我已经分配了var grid = $("#grid1").data("kendoGrid");
,但是现在我有多个gridID。
var grid = $("#grid1").data("kendoGrid");
var grid = $("#grid2").data("kendoGrid");
var grid = $("#grid3").data("kendoGrid");
var grid = $("#grid4").data("kendoGrid");
如何在同一函数中将其组合并使用相同的变量grid
?相反,我创建了另一个函数。
答案 0 :(得分:0)
您可以将动态数字作为参数传递给函数:
function highlightRed(num) {
setTimeout(function() {
var grid = $("#grid" + num).data("kendoGrid");
var data = grid.dataSource.view();
$.each(data, function (i, row) {
var element = $('tr[data-uid="' + row.uid + '"] ');
if (row.active == "n") {
$(element).css("background-color", "#F99AA1");
}
});
}, 10);
}
并调用以下函数:
highlightRed(1);
highlightRed(2);
highlightRed(3);
highlightRed(4);
答案 1 :(得分:0)
您可以使用forEach
循环在一系列类似的事物上运行相同的代码。
var grids = [ $("#grid1"), $("#grid2"), $("#grid3"), $("#grid4") ]
grids.forEach(function(grid) {
var data = grid.dataSource.view();
// .. etc ..
})
答案 2 :(得分:0)
您可以使用[id^=grid]
CSS选择器来选择所有以“ grid”开头的元素:
function highlightRed() {
setTimeout(function() {
var grid = $("[id^=grid]").data("kendoGrid");
var data = grid.dataSource.view();
$.each(data, function (i, row) {
var element = $('tr[data-uid="' + row.uid + '"] ');
if (row.active == "n") {
$(element).css("background-color", "#F99AA1");
}
});
}, 10);
}
答案 3 :(得分:0)
您不能将对象合并到一个变量中(未经处理)
如果您具有html字符串,并且想要将该html连接到现有的html字符串,则可以使用+运算符来实现此目的。
var grid =''; grid + ='您的循环处理后的字符串值'。
我希望这就是你要的