2012-02-02 4 views
0

У меня есть на моей странице (page1.php) a div под названием result, который обновляется при нажатии ссылки с идентификатором loadlink. Он посылает URL вместе с page2.php Сценарий:php jquery div refresh

$(function() { 
    $(".loadlink").click(function(event) { 
    event.preventDefault(); 
    $("#result").load($(this).data('url')); 
    }); 
}); 

Я хочу, чтобы это так и обновляет другой DIV называется crimes после этого работает с данными из URL page3.php. Как я могу изменить код для этого?

+1

Коррекция: вы указываете 'когда вы нажимаете ссылку с идентификатором loadlink '. Обозначение периода означает, что вы ищете элементы с классом 'loadlink'. – Jasper

ответ

1

Вы можете использовать функцию обратного вызова функции .load(), чтобы запустить другой запрос AJAX, как только это один заканчивает:

$(function() { 
    $(".loadlink").click(function(event) { 
     event.preventDefault(); 
     $("#result").load($(this).data('url'), function() { 
      $('#crimes').load('page3.php'); 
     }); 
    }); 
}); 

Примечание: если второй запрос AJAX не полагаться на первый, то вы можете запустить их одновременно (просто назовите их один за другим, и они будут обновлять DOM, а затем возвращаться успешно). Вы не узнаете, какой из них вернется первым, но это полезность функции обратного вызова, вы узнаете, что она была выполнена до отправки следующего запроса.

+0

Это правильно, если вы не хотите, чтобы «# crime» загружались до тех пор, пока не загрузится «# result». Неясно, из какого именно вопроса ищет OP. – AndrewR

+0

На самом деле ОП заявлял: «После этого запускает», но я добавлял свою заметку, когда вы отправляли свой комментарий, поэтому я тоже не совсем уверен, чего хочет OP. – Jasper

+0

Я хочу, чтобы преступники div обновлялись после того, как результат был обновлен. Я пробовал этот код, но не могу заставить его работать. – user1022585

0

Просто добавьте еще одну нагрузку() в функцию щелчка.

$(function() { 
    $(".loadlink").click(function(event) { 
    event.preventDefault(); 
    $("#result").load($(this).data('url')); 
    $("#crimes").load('page3.php'); 
    }); 
});