Ich habe ein Problem mit der Weitergabe meiner For-Schleife-Index-Variable in Ajax-Erfolgsfunktion .. Ich weiß, dass dies ein Duplikat ist, aber ich habe mehrere andere Lösungen ausprobiert, die ich gefunden habe und keine scheinen für mich arbeiten ..Weitergabe von For-Loop-Variable in AJAX Erfolg
Wie dem auch sei, ich habe diesen Code hier:
embeds = document.getElementsByClassName('kcode');
for (i = 0, l = embeds.length; i < l; i++) {
if (typeof embeds[i] != 'undefined' && typeof embeds[i].classList != 'undefined' && !embeds[i].classList.contains('filled')) {
embeds[i].classList.add('filled');
var embed = window.intext[embeds[i].getAttribute('data-k-kid')];
if (embed) {
embeds[i].classList.add('embed');
switch (embed.type.toLowerCase()) {
case 'sport_plugin':
if(sportData.selectedType.name == "Ranking Table") {
(function(i) {
jQuery.ajax({
url: url,
dataType: 'json',
success: function(response) {
var content = '';
if (table.name == "Western Conference" || table.name == "Eastern Conference") {
content+= '</div>';
embeds[i].innerHTML = content;
}
}
});
})(i);
}
break;
default:
embeds[i].style.display = "none";
}
embeds[i].classList.remove('kcode');
i--;
}
}
}
Nun, was ich versuche zu erreichen -
ich möchte das passieren bettet Variable und die i
Variable von for
Loops Index in meine Ajax Respo nse, so konnte ich die innerhtml
von embeds [i] setzen, nachdem die Antwort beendet ist. Ich habe versucht, die Ajax function in (function (i) {})(i);
Schließung wickeln, aber es half nicht. Irgendwelche Ideen? Danke!
Hallo, danken Ihnen für Ihre Antwort, leider Didin es Löse mein Problem nicht. Ich bekomme immer noch die "Kann nicht innerhtml für undefined" .. –
Dann versuchen Sie das gleiche Konzept für Einbettungen. successCallback.embeds = bettet ein. Dann in der Callback-Funktion this.embeds [this.i] .innerHTML = content –