Документация по этому вопросу достаточно ясна:
http://api.prototypejs.org/ajax/Ajax/Updater/
Ajax.Updater
сделает запрос и заменит innerHTML
любого элемента, который вы идентифицируете по его идентификатору нарезультаты этого запроса.Другими словами, это пони с одной уловкой.
Если вы хотите создать свой собственный метод для этого, есть две вещи.Сначала используйте менее специализированный Ajax.Request
для извлечения данных, затем используйте метод $$()
"двойной доллар", чтобы найти элементы, которые вы хотели бы обновить.$$()
всегда возвращает массив элементов (или пустой массив, если на странице ничего не соответствует селектору).Вы можете выполнить итерацию по этому массиву, используя метод Enumerable each (), или вы можете использовать специальный случай invoke()
(прототип 1.7 и выше) для вызова одного и того же метода для каждого элемента в Enumerable.
new Ajax.Request('/your/url', {
onSuccess: function(response) {
$$('.some-class').invoke('update', response.responseText);
}
});
или
new Ajax.Request('/your/url', {
onSuccess: function(response) {
$$('.some-class').each(function(elm){
elm.update(response.responseText);
});
}
});