重複の可能性:
Javascriptの悪名高いループの問題?
私は次のコードを持っています:
function test() {
var columns = options.columns;
for (var i =0; i < columns.length; i++) {
if (columns[i].type === "number") {
var field = columns[i].field;
columns[i].footerTemplate = function(data) { return buildFooter(data, field); };
}
}
}
function buildFooter(data, field) {
alert(field);
}
ライブラリ関数はfooterTemplate関数を呼び出します(次にbuildFooterを呼び出します)。buildFooterのアラートは、フィールドが常に同じ値(テストのforループで繰り返される最後の値)であることを示しています。適切なフィールド値を使用してbuildFooterを呼び出すにはどうすればよいですか(つまり、
columns[0].footerTemplate = function(data) { return buildFooter(data, columns[0].field);}
と
columns[1].footerTemplate = function(data) { return buildFooter(data, columns[1].field);}
等々...