이전 함수가 함수를 완료하기 전에 하나의 이벤트를 어떻게 발생합니까? 나는 또한 $('.bf-count').text()
를 사용하여 BF-카운트 값을 얻기 위해 실행하는 다른 jQuery를 파일이하나의 아약스 함수가 완료되기 전에 jquery 함수를로드하는 방법
var BrainyFilter = {
//...
init: function (opts) {},
changeTotalNumbers: function (data) {
jQuery(BrainyFilter.filterFormId).find('.bf-count').remove();
jQuery(BrainyFilter.filterFormId).find('option span').remove();
jQuery(BrainyFilter.filterFormId).find('select').removeAttr('disabled');
jQuery('.bf-attr-filter').not('#bf-price-container').find('input, option')
.attr('disabled', 'disabled')
.parents('.bf-attr-filter')
.addClass('bf-disabled');
if (data && data.length) {
for (var i = 0; i < data.length; i++) {
jQuery('.bf-attr-' + data[i].id + ' .bf-attr-val').each(function (ii, v) {
if (jQuery(v).text() == data[i].val) {
var parent = jQuery(v).parents('.bf-attr-filter').eq(0);
var isOption = jQuery(v).prop('tagName') == 'OPTION';
var selected = false;
if (isOption) {
jQuery(v).removeAttr('disabled');
selected = jQuery(v)[0].selected;
} else {
parent.find('input').removeAttr('disabled');
selected = parent.find('input')[0].checked;
}
parent.removeClass('bf-disabled');
if (!selected) {
if (!isOption) {
parent.find('.bf-cell').last().append('<span class="bf-count">' + data[i].c + '</span>');
} else {
jQuery(v).append('<span> (' + data[i].c + ')</span>');
}
}
}
});
}
jQuery('.bf-attr-filter input[type=checkbox]').filter(':checked')
.parents('.bf-attr-block').find('.bf-count').each(function (i, v) {
var t = '+' + jQuery(v).text();
jQuery(v).text(t);
});
// since opencart standard filters use logical OR, all the filter groups
// should have '+' if any filter was selected
if (jQuery('.bf-opencart-filters input[type=checkbox]:checked').size()) {
jQuery('.bf-opencart-filters .bf-count').each(function (i, v) {
var t = '+' + jQuery(v).text().replace('+', '');
jQuery(v).text(t);
});
}
}
// disable select box if it hasn't any active option
jQuery(BrainyFilter.filterFormId).find('select').each(function (i, v) {
if (jQuery(v).find('option').not('.bf-default,[disabled]').size() == 0) {
jQuery(v).attr('disabled', 'true');
}
});
},
//...
} // close the BrainyFilter
:
나는 다음과 같은 AJAX 코드가 있습니다. 페이지로드시 bf-count
값이 비어 있습니다. 위의 코드는 bf-count
을 삽입 했으므로 값을 얻으려면 for
루프가 완료 될 때까지 기다려야합니다.
가장 좋은 방법은 무엇입니까?
코드 예제를 줄일 수 있습니까? – hitautodestruct
안녕하세요, 아약스 파일에서 아약스를 호출하는 코드 줄에 외부 정렬 코드를 삽입한다고 생각합니다. 정렬하여 관리하십시오. 감사합니다. 어쨌든 당신의 제안. – redcoder
여기에 비동기 호출을 볼 수 없습니까? 아약스가 무슨 뜻이야? –