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, время: 03:56. |