我正在創建一個儀表板,我需要獲取父菜單並在每個父菜單下顯示子菜單。我面臨的問題是我首先獲取所有父級菜單,最後顯示子菜單。如何在jQuery中嵌套每個循環
這裏是我的jQuery代碼
$.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