私は親メニューを取得し、各親メニューの下に子メニューを表示する必要があるダッシュボードを作成しています。私が直面している問題は、すべての親メニューを最初に取得し、子メニューを最後に表示することです。 HERE jqueryで各ループをネストする方法
はMY jQueryのCODE
$.each(data, function(index, value) {
if (value.ParentId == 0) {
//Get and display the parent Menu
var input = ('<label><input type="checkbox" name="chk[]" value=' + value.Id + ' />' + " " + value.MenuName + " (PARENT) " + '</label><br>');
$('#appName').append(input);
$.ajax({
method: 'GET',
//Fetch the children menus
url: 'http://localhost:61768/api/users/GetUrlChildren?Id=' + value.Id,
headers: {
'Authorization': 'Basic ' + btoa(localStorage.getItem('AppId') + ":" + localStorage.getItem('ApiKey'))
},
success: function(newData) {
$.each(newData, function(index2, value2) {
if (Object.keys(newData).length == 0) {
alert("No Url has been added");
} else {
//Display the children menu.
var input2 = ('<label><input type="checkbox" name="chk[]" value=' + value2.Id + ' />' + " " + value2.MenuName + " (CHILD) " + '</label><br>');
$('#appName').append(input2);
}
});
}
});
}
});
どのように非同期呼び出しが機能するのですか – epascarello
どうしますか?表示する前に各親が子どもを待つか? – arbuthnott
これは、 '$ .ajax'が非同期であるためです。 '$( '#appName')。append(input2);' – TKoL