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(...) Точнее не скажу, т.к. не понятна разметка. |
![]() |