Пути для AJAX / remoteFunction для обновления двух или более не связанных между собой div (в случае успеха)? - PullRequest
3 голосов
/ 16 января 2012

Текущее значение Grails remoteFunction может обновлять только один div в случае успеха (и один в случае ошибки). Есть моменты, когда я хочу обновить несколько div (в случае успеха), используя один вызов Ajax. Как это можно сделать, кроме как связать вместе функции remoteFunctions (то есть, когда первая вызывает успешную функцию Javascript, которая вызывает вторую функцию remote). ... Есть ли способ обновить несколько частей страницы через ajax без этого типа цепочки?

Спасибо

Ответы [ 3 ]

4 голосов
/ 09 октября 2012

Вы можете вызвать две удаленные функции, разделенные точкой с запятой.

<g:select id='releaseVersion' name="releaseVersion" noSelection="['0':'--Select--']" from='${new Alarm().constraints.releaseVersion.inList}' onchange="${remoteFunction(controller:'alarm', action:'updateComponentByRelease',params:'\'selectedValue=\' + this.value', update:'component')};
${remoteFunction(controller:'alarm',action:'updateDiscriminatorByComponent', params:'\'selectedValue=\' + this.value',update:'subsystem')};"></g:select>
3 голосов
/ 16 января 2012

Вы можете сделать это, получив функцию onSuccess в javascript, чтобы установить html полученного div.Вот хороший пример того, как это сделать - http://www.webdeveloperjuice.com/2010/04/01/filling-multiples-divs-by-single-ajax-call-using-jquery/

Не может быть сделано автоматически.

0 голосов
/ 16 января 2012

Есть события, которые вы можете установить, когда запрос AJAX завершится.Например:

<g:remoteLink action="show"
          id="1"
          update="success"
          onLoading="showProgress()"
          onComplete="updateContent()">Show Book 1</g:remoteLink>

Срабатывает function updateContent после завершения http://grails.org/doc/2.0.x/guide/single.html#ajax

Не похоже, что есть способ автоматически обновить два деления.Единственный возможный способ сделать это - обновить оба контента одним и тем же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...