Как я уже говорил выше, никакой код не будет выполнен после моей функции .each. Я думал, что каждый код будет выполнен после того, как каждая функция будет готова ?!После функции jquery .each код не выполняется
Heres мой JS-файл:
function onUploadLoad() {
$.ajax({
type: "POST",
url: "headlines_getter.php",
dataType: 'json',
cache: false,
success: function (data1) {
console.log("debug 2");
var i = 0;
var $element = "";
$.each(data1[i].main, function() {
console.log("debug 3 ");
$element += '<div data-role="collapsible"><h3>' + data1[i].main + '</h3>';
var j = 0;
$.each(data1[i].sub, function() {
console.log("debug 4");
$element += '<span><input type="checkbox" name="headlines" data-mini="true" value="blub" /> ' + data1[i].sub[j] + ' </span>';
j++;
});
$element += '</div>';
i++;
var $elements = $($element).appendTo($('#headlinesgroup'));
$elements.collapsible();
});
alert("ok"); // <- this alert is not shown!!
console.log("debug 12"); // <- also not this console.log!
}
});
}
Если я делаю предупреждение перед каждой-функции, все работает нормально ?!
Заранее спасибо. С уважением, Джон.
Что говорит консоль? – Joseph
ничего неожиданного. просто мои отладочные номера, но не отладка-номер 12! Я изменил свой вопрос, потому что я поставил предупреждение после ajax, а не после каждой функции (что является проблемой)! –
Ваши циклы '.each()' все не так - вы не должны пытаться управлять своими счетными переменными и одновременно использовать '$ .each()'. В моем ответе я догадался о структуре JSON, возвращенной как объект data1 в вашем обратном вызове Ajax, и предоставил некоторый соответствующий код, но, очевидно, я, возможно, догадался, что, пожалуйста, обновите свой вопрос, чтобы показать JSON (а затем кто-то даст вам ответ, показывающий, как его обрабатывать). – nnnnnn