1

jquery ui スライダーの次のコードがあります。

var setupChartControllers = function () {
    for (var i = 0; i < 3; i++) {
        $("#chart-range-"+ i).slider({
            orientation: "vertical",
            range: true,
            values: [0, 100],
            stop: function (event, ui) {
                sliderEndFunc(event, ui, i);
            }
        });
    }
}
var sliderEndFunc = function (event, ui, chartNumber) {
    drawChart(chartNumber);
}

問題は、「i」がクロージャーの変数であることです。スライド終了イベントがトリガーされるまでに、すべてのイベントで i=3 の値を取得します。変数の代わりに変数を値として渡すにはどうすればよいですか? (値型と oop の参照型のようなものが必要です) chart-range-1 トリガー drawChart(1) が必要です。

4

1 に答える 1