DropDown select에서 다음 jquery를 실행합니다. each()를 사용하여 li
을 반복합니다.
내 $.get()
은 서버에서 데이터를 가져 오는 데 약간의 시간이 걸리므로 이미지를 전환하여 img로드를 사용하고 있습니다. 그러나 each
메서드는 get
데이터를 가져올 때까지 기다리지 않고 직접 끝으로 이동합니다.
get
이 서버에서 데이터를 가져올 때까지 each
을 보유하는 방법은 무엇입니까?
JQUERY JQuery와 위의 실행에
jd('#UserId').change(function (e) {
var selectedID = jd(this).val();
jd('.loading').css("display", "block");
jd(".stats_box li").each(function (index, liElement) {
var li_id = liElement.id;
/* Request the partial view with .get request. */
jd.get('/Home/_CaseStatus?type=CaseStatus&user_id=' + selectedID, function (data) {
jd('#CaseStatus').html(data);
});
});
alert("End");
jd('.loading').css("display", "none");
});
, 그것은 바로 나를 alert
& 다음 데이터가 언젠가 후에 볼 수 있습니다 보여줍니다. meagar가 제안한 것처럼 모든 요청을
jd('#UserId').change(function (e) {
var selectedID = jd(this).val();
jd('.loading').css("display", "block");
var rqts = [];
jd(".stats_box li").each(function (index, liElement) {
var li_id = liElement.id;
rqts.push(jd.get('/Home/_CaseStatus?type=CaseStatus&user_id=' + selectedID, function (data) {
//I've a doubt about the target element
jd('#CaseStatus').html(data);
}));
});
//wait for all requests to complete
jd.when.apply(jd, rqts).always(function() {
jd('.loading').css("display", "none");
})
});
을 완료까지
아래 참조
을 완료 그것의 ** 비동기 **, 당신이 그것을」를 개최 "할 필요가 없습니다. – adeneo