Функция обновления divов - графиков: Удаляем все графики из контейнера, id параметра и его имя как обьект записывалем в массив, и для каждого создаем новый график.
Проблема в том, что значения переменным присваиваются правильно в каждой итерации, но все divы имеют id из последней итерации. Я не слышал о том, что ajax не работает в цикле, при этом у всех графиков разные данные.
Проверил в инструментах разработчика, видимо, сначала программа проходит весь цикл, а затем выполняет ajax-запрос, из-за этого id один у всех.
function refreshGraphs(s, e) {
$('#graphsBlock').html('<div class="vertical" id="vertical">');
var PointId;
var PointName;
for (var i = 0; i < selection.length; i++)
{
var dateS = dateStart.GetDate();
var dateF = dateFinish.GetDate();
PointId = selection[i].id;
PointName = selection[i].name;
var _dateS = dateS.format("yyyy-MM-dd-HH-mm-ss");
var _dateF = dateF.format("yyyy-MM-dd-HH-mm-ss");
var _focusID = PointId.substring(0, PointId.length - 1);
alert(PointId + ' ' + PointName);
(function (i) {
$.ajax({
type: 'GET',
url: '/Monitoring/Monitoring/MonitorGraph',
data: {
param: _focusID,
start: _dateS,
finish: _dateF,
id: PointId,
grName: PointName
},
cache: false,
success: function (Serverdata) {
$("#graphsBlock").append('<div style="float: left; margin-left: 5%; width: 90%;" id="' + PointId + '">' + Serverdata + '</div>');
}
});
})(i);
}
}</code></pre>
i, есть внутри коллбэка используютсяPointIdиPointName? – Grundy Jul 21 '17 at 10:50i– Grundy Jul 21 '17 at 11:01