0

Всем привет.

Подскажите как можно в jquery получить ответ в 2 или нескольких частях после запроса post? Например есть такой код:

var path_script = "test.php";
    $.post(path_script, {p10: v_cost10, p13: v_cost13}, function(data){
        if (data.length > 0){
            console.log(data);
            $(".container").html(data);
            //$(".container2").html(data);
        };
    });

В файле test.php формируются данные, большой html блок текста. И полученное содержимое я вставляю в тег container.

А как сделать чтобы в тег container2 я мог вставить другой блок html? Т.е. как можно получить два разных содержимых? Как это оформить в php файле и js?

[UPD] Решено

В файле test.php разбил нужные части с помощью <div id="firstpart"> и <div id="secondpart">

А в файле js отфильтровал в 2 переменные и сделал вывод как я хотел:

var str1 = $(data).filter('#firstpart').html();
var str2 = $(data).filter('#secondpart').html();

1 ответ 1

0

верните json, или просто сделайте

var $data=$(data);
$('.container').html($data.find('#firstpart').children());
$('.container1').html($data.find('#secondpart').children());

в ответе возвращайте два блока с id='firstpart' и 'secondpart'

5
  • console.log($data.find('#firstpart').children()); - отображает Object[]
    – Saturn
    18 апр 2014 в 13:08
  • попробовал, пока не выходит
    – Saturn
    18 апр 2014 в 13:09
  • php должно вернуть что-то типа: <div id='firstpart'><div>Hello</div></div> <div id='secondpart'><div>Hello2</div></div> а, если без контейнера, то не find, а filter ну или $data=$('<div>').html(data)
    – zb'
    18 апр 2014 в 14:23
  • Получилось вот так: var str1 = $(data).filter('#firstpart').html(); var str2 = $(data).filter('#secondpart').html();
    – Saturn
    18 апр 2014 в 14:23
  • @eicto большое спасибо за ответ!
    – Saturn
    18 апр 2014 в 14:24

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.