Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Дом each(). Помогите разобраться (https://javascript.ru/forum/jquery/12844-dom-each-pomogite-razobratsya.html)

Alex_WA 05.11.2010 10:33

Дом each(). Помогите разобраться
 
Здравствуйте. Есть код
<div>
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<script type="text/javascript">
$( function(){
$('div p').each(function(){
$(this).append('<span></span>');
$(this).parent().find('span').html('<img src="loader.gif" />').load('test.php','test:$(this).text()');
})
});
</script>

Задача обойти все теги p взять текст и отправить на обработку на test.php – все работает но проблема в том что все запросы на php уходят разом, как сделать чтобы яваскрипт отправлял запрос поочереди с начала первый дождавшись ответа второи и т.д.

micscr 05.11.2010 14:59

each не подходит в этом случае. У метода load есть третий параметр - функция, которая вызывается после прихода ответа. Следующие запросы - через нее.

Alex_WA 05.11.2010 19:49

Цитата:

Сообщение от micscr (Сообщение 77581)
each не подходит в этом случае. У метода load есть третий параметр - функция, которая вызывается после прихода ответа. Следующие запросы - через нее.

Функцию знаю load('test.php','test:$(this).text()',function(){a lert (‘ok’)});
не пойму как тогда сделать обход тегов p скиньте пожалуйста пример

micscr 06.11.2010 08:20

Цитата:

Сообщение от Alex_WA (Сообщение 77631)
скиньте пожалуйста пример

примерно так:
var $obj = $('p:first');
$obj.load('test.php',{'test':$obj.text()},newStep);

function newStep(){
  if ($obj.is(':last')) return;
  $obj = $obj.next();
  $obj.load('test.php',{'test':$obj.text()},newStep);
}

Alex_WA 06.11.2010 13:47

Огромный Пасиб


Часовой пояс GMT +3, время: 02:55.