Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2010, 12:51
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

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?
});

Но что в ней делать? Как это реализовать
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2010, 13:09
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

всё находится в переменной data, я использую например
$(data).each(function(){ /*this указывает на текущий элемент*/ });
each цикл для перебора элементов
__________________
Нет предела совершенству...
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2010, 13:32
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Мне кажется тут проще так:
$('#first', data).appendTo('куда надо добавить на странице');
Ответить с цитированием
  #4 (permalink)  
Старый 28.02.2010, 14:36
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Сообщение от micscr Посмотреть сообщение
Мне кажется тут проще так:
$('#first', data).appendTo('куда надо добавить на странице');
Я попробовал сначала вывести содержимое просто через alert:
alert($("#first",data));

выдает, что data - это [object Object], а не вставляет его код

Последний раз редактировалось InviS, 28.02.2010 в 14:41.
Ответить с цитированием
  #5 (permalink)  
Старый 28.02.2010, 15:04
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

зачем выводить та его, надо сделать с ним что хочешь и вставить его в другой элемент с помощью appendTo как уже написал micscr
$('#first', data).appendTo('body');//к примеру
__________________
Нет предела совершенству...

Последний раз редактировалось sysya, 28.02.2010 в 15:06. Причина: добавить
Ответить с цитированием
  #6 (permalink)  
Старый 28.02.2010, 16:31
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от InviS Посмотреть сообщение
Я попробовал сначала вывести содержимое просто через alert:
выдает, что data - это [object Object], а не вставляет его код
alert($("#first", data).html());
Ответить с цитированием
  #7 (permalink)  
Старый 01.03.2010, 01:22
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Вот, что вижу, написав так, как вы сказали:

перед этим поставил вывод переменной data через alert и там было все в порядке:
<select id='first'>
   <option value='1'>One</option>
   ....
</select>

Но именно то, что мне нужно, я выбрать не могу ;(
Ответить с цитированием
  #8 (permalink)  
Старый 01.03.2010, 09:01
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Весь получаемый 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>

Тогда все работает. Сам проверил. Так что вам стоит вывод обернуть в общий тэг.
Ответить с цитированием
  #9 (permalink)  
Старый 01.03.2010, 17:47
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

Спасибо огромное! Действительно нужен был общий тег =) просто жесть
Кстати, а то же самое нельзя сделать чем-то вроде
$(data).filter("#first").html();

Я пробовал - не получается, но по идее же можно?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JQuery + Ajax = загрузка изображений jokerbot jQuery 0 06.12.2009 15:10
jQuery, jsTree - обновление дерева через ajax extremum.func jQuery 2 09.11.2009 14:48
подгрузка файлов через jQuery imdogma jQuery 4 05.05.2009 21:46
Проблема с обработкой селектов html кода, пришедшего через ajax запрос Rage jQuery 6 26.01.2009 14:15
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 12:44