Jquery. загрузка части документа через ajax-запрос
Ребят, подскажите, пожалуйста, не могу понять как через ajax запрос загружать лишь часть данных при помощи jquery. К примеру, есть какая-то страница server.php, к которой идет ajax-запрос, но она выдает что-то типа:
<div>бла бла бла</div> <select id='first'>...</select> <select id='second'>...</select> <div>..</div> ..... И мне нужно выбрать из этого всего #first и загрузить в один контейнер, а #second - в другой.... Вот функция: $.post("server.php",{region : "all", country : "all"},function(data){ // what to do? }); Но что в ней делать? Как это реализовать |
всё находится в переменной data, я использую например
$(data).each(function(){ /*this указывает на текущий элемент*/ });each цикл для перебора элементов |
Мне кажется тут проще так:
$('#first', data).appendTo('куда надо добавить на странице'); |
Цитата:
alert($("#first",data)); выдает, что data - это [object Object], а не вставляет его код :( ![]() |
зачем выводить та его, надо сделать с ним что хочешь и вставить его в другой элемент с помощью appendTo как уже написал micscr
$('#first', data).appendTo('body');//к примеру |
Цитата:
alert($("#first", data).html()); |
Вот, что вижу, написав так, как вы сказали:
![]() перед этим поставил вывод переменной data через alert и там было все в порядке: <select id='first'> <option value='1'>One</option> .... </select> Но именно то, что мне нужно, я выбрать не могу ;( |
Весь получаемый html должен быть верным деревом для того что я написал. Типа такого:
<div> <select id="first"> <option value=1>One</option> <option value=2>Two</option> <option value=3>Three</option> </select> <div>rrr</div> </div> Тогда все работает. Сам проверил. Так что вам стоит вывод обернуть в общий тэг. |
Спасибо огромное! Действительно нужен был общий тег =) просто жесть :D
Кстати, а то же самое нельзя сделать чем-то вроде $(data).filter("#first").html(); Я пробовал - не получается, но по идее же можно? |
Часовой пояс GMT +3, время: 12:52. |