Yo no uso protoype desde hace ya bastante, pero mira a ver esto:
new Ajax.Request('/carts/obtain/v:discount', {
method:'get',
onSuccess: function(transport){
var discounts = transport.responseText.evalJSON(true);
discounts.each(function(discount){
$('discount_' + discount.id).update(discount.data);
});
}
});
Saludos
El 18 de mayo de 2010 17:08, CaStarCo <[email protected]> escribió:
> Buenas, hace unos días tuve unos problemillas para actualizar varios divs,
> y al final lo supe hacer con código Javascript usando las librerías de
> Prototype (es bastante sencillo la verdad).
>
> La cosa fué fácil porque sabía qué divs tenía que modificar, usé el método
> Ajax.Updater y listos.. pero ahora la cosa es un poco más complicada.
>
> Resulta que no sé a priori qué divs tengo que modificar, debería tener una
> lista de ids y componer un sufijo al id para saber qué id tengo que
> modificar.
>
> Esa lista la quiero obtener por json, con con un id y el valor que quiero
> cambiar, del estilo:
>
> [{id:2,data:"valor"},{id:5,data:"valor"},{id:6,data:"valor"}]
>
> ya tengo una acción que me genera ese json y debería poder recogerlo con
> código javascript para iterar sobre el array e ir actualizando los divs...
> pero no lo he conseguido. Os adjunto lo que escribí, a ver como lo haríais
> (el problema lo tengo solo a nivel de JavaScript)
>
> new Ajax.Request('/carts/obtain/v:discount', {
> method:'get',
> onSuccess: function(transport){
> var discounts = transport.responseText.evalJSON(true);
>
> for (var k in discounts) {
> document.getElementById('discount_'+discounts[k].id).innerHTML =
> discounts[k].d;
> }
> }
> });
>
>
> Me he basado en un ejemplo de la página prototypejs.org , pero por lo
> visto no lo he hecho como debería :p
>
> ¿Alguna idea?
>
> Muchas gracias por adelantado :)
>
> --
> - Per la llibertat del coneixement -
> - Per la llibertat de la ment... -
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "CakePHP en
> Español" de Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> [email protected].
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> [email protected]<cakephp-esp%[email protected]>
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/cakephp-esp?hl=es.
>
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.