| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 06.10.2004
Адрес: Москва
Пол: Male
Сообщения: 74
![]() ![]() |
jQuery - очередь асинхронных запросов. как?
Привет!
Назрел вопрос: как организовать очередь асинхронных запросов? Имеем список (ок. 150) элементов, чекбоксами отмесаются необходимые и загружаются. Код:
$(document).ready(function(){ // по окончанию загрузки страницы
$('#load_selected').live('click',function(){ // Загрузка списка прайсов по клику.
var is_disable = false;
var my_o = $('#prices_for_load');
for (var i=0; i < $('#prices_for_load')[0].elements.length; i++) {
if($('#prices_for_load')[0].elements[i].type == "checkbox" && $('#prices_for_load')[0].elements[i].checked){
$('#price_'+$('#prices_for_load')[0].elements[i].value ).html("<img src='/images/ajax.gif'>");
//alert(i);
//setTimeout("",3000);
$.ajax({
async:false,
url: '/test/autoload_handler.php?do=load_price_by_id&mode=ajax&id='+$('#prices_for_load')[0].elements[i].value,
dataType : "text",
success: function(data, textStatus) {
$('#price_' + $('#prices_for_load')[0].elements[i].value ).html(data);
$('#checkbox_' + i).css({display:"none"});
$('#prices_for_load')[0].elements[i].checked=false;
//alert(data);
}
});
}
//alert('test');
}
//alert('test');
if(confirm("Загрузка прайс-листов закончена. Необходимо перезагрулить страницу \n Для просмотра результатов нажмите 'Отмета', затем презегрузите страницу вручную.")){
window.location="/admin/index.php?mode=autoload";
}
//return is_disable;
});
});
Задача такая: Сделать запрос, и чтобы браузер оставался активным, но при этом чтобы до завершения предыдущего запроса новый не стартовал. ![]()
__________________
Supraвод |
|
|
|
|
# 2 |
|
::VIP::
Регистрация: 19.03.2004
Сообщения: 1 329
![]() ![]() ![]() ![]() |
beast_drc, есть готовые плагины для организации очереди ajax-запросов:
http://plugins.jquery.com/project/ajaxq http://plugins.jquery.com/project/ajaxqueue http://plugins.jquery.com/project/AjaxManager добавлено через 8 минут Кстати, раз уж использовать jQuery, думаю что вместо цикла for и if-а на проверку что элемент является чекнутым чекбоксом, можно написать просто один селектор, что-то типа: $('#prices_for_load :checkbox:checked').each(...) Точнее не скажу, т.к. не понятна разметка. |
|
|