Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Grails

Como pasar variable list de la GSP a un JAVASCRIPT 

galorn - jueves 27/05/2010

Hola:

He conseguido pasar del controller al gsp un array list poniendo en el controller:

return [ list: listaChats ]

Entonces en el gsp puedo acceder a list y todos sus atributos. La cuestión es que no se como pasar ahora ese list a un archivo.js    No se si se puede pasar por parametro o que, he probado 1000 maneras y no lo consigo.

Muchas gracias por la ayuda, un saludo! 

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

galorn - lunes 31/05/2010

Nadie sabe en todo el foro como hacerlo????????????? por favor un poco de ayuda!!! he encontrado este post que habla de algo del estilo, pero no me queda nada claro:

http://grails.1312388.n4.nabble.com/Passing-Javascript-Into-GSP-tags-td1333395.html#none

 

Ayudaaaaaaaaaa!!!!!! 

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

hkadejo - miércoles 02/06/2010

Mira creo que pasarlo a un archivo .js no se puede, lo que si pues hacer es escribir tu codigo Javascript en el cuerpo de tu pagina gsp y desde ahi si podrias acceder a todo atributos que tienes disponibles.

o puedes escribir tus funciones javascript que reciban n cantidad de parametros, y llamar esas funciones desde tu gsp donde los parametros serian valores enviados desde el controlador...espero haberte ayudado.

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

galorn - jueves 03/06/2010

Gracias por contestar!

El tema esta en que como tu dices, en la gsp si que puedo trabajar con la variable directamente, pero tengo el problema que por ejemplo si quiero ir cogiendo list[i], ese i tengo que inicializarla al principio, pero luego me resulta IMPOSIBLE aumentarla!!! lo he probado de mil formas y no puedo.

 

Otra opcion que he encontrado por ahi es recorrer en la gsp con un g:each la list y ir asignandole los valores al array javascript, para luego pasarle éste a la función por parámetro (ya que si se puede pasar un array de tipo javascript) pero tampoco consigo que funcione...

 

Agradezo toda la ayuda, gracias!! 

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

hkadejo - jueves 03/06/2010

Porque no creas el array javascript con todos los valores de tu lista al momento de cargar la pagina y tienes ese arreglo como variable, por ejemplo

a=new Array(

 Y aqui en medio iteras con g:each y vas agregando cada valor correspondiente.

);

de esa manera al terminar de dibujar la pagina, ya tendrias una variable javascript que seria tu arreglo.

no se si me explico???

 

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

galorn - viernes 04/06/2010

Si, se exactamente lo que dices, pero me sigue sin funcionar :(

Es lo siguiente:

<script type="text/javascript">

   var tempArr = new Array();

<g:each in="${list}" status="x" var="item" >

   tempArr[${x}]= {hora:${item.getHoras()},minuto:${item.getMinutos()},segundo:${item.getSegundos()},tipo:${item.getTipo()},numero:${item.getNumero()},nombre1:${item.getNombre1()},nombre2:${item.getNombre2()},comentarios:${item.getComentarios()}};

</g:each>

</script> 

 

 Y se que funciona bien, ya que en el firebug lo veo bien relleno! Pero cuando le doy al "play(tempArr)" en el botón con la función onlick, pues no me hace de lo que quiero que haga( y también se que la funcion play esta bien ya que con un array creado dentro del javascript externo, si que funciona).

esto es increible :S

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

hkadejo - sábado 05/06/2010

porque no colocas el codigo HTML que se te genera cuando estas en la pagina donde has colocado ese g:each.

asi podriamos ver que es lo que en verdad se esta "pintando" en la pagina y ver el codigo javascript que esta ahi. 

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

galorn - martes 08/06/2010

He probado de cargar el array tempArr con SOLO un atributo, y si que me deja! o sea, que voy a tener que hacer esto:

<g:javascript>

var tempArr0 = new Array(); var tempArr1 = new Array(); var tempArr2 = new Array(); var tempArr3 = new Array(); var tempArr4 = new Array(); var tempArr5 = new Array(); var tempArr6 = new Array(); var tempArr7 = new Array();

 

<g:each in="${list}" status="x" var="item" >

tempArr0[${x}]= "${item.getHoras()}";

</g:each> <g:each in="${list}" status="x" var="item" >

tempArr1[${x}]= "${item.getMinutos()}";

</g:each> <g:each in="${list}" status="x" var="item" >

tempArr2[${x}]= "${item.getSegundos()}";

</g:each> <g:each in="${list}" status="x" var="item" >

tempArr3[${x}]= "${item.getTipo()}";

</g:each> <g:each in="${list}" status="x" var="item" >

tempArr4[${x}]= "${item.getNumero()}";

</g:each> <g:each in="${list}" status="x" var="item" >

tempArr5[${x}]= "${item.getNombre1()}";

</g:each> <g:each in="${list}" status="x" var="item" >

tempArr6[${x}]= "${item.getNombre2()}";

</g:each> <g:each in="${list}" status="x" var="item" >

tempArr7[${x}]= "${item.getComentarios()}";

</g:each>

</g:javascript>

Y pasar por parámetro los 8 tempArr para ir recuperando en el javascript segun me haga falta.

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

hkadejo - miércoles 09/06/2010

Porque no usar arreglos multidimensionales? Ejemplo:

http://www.desarrolloweb.com/articulos/632.php

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

- miércoles 09/06/2010
ppp

Re:

Como pasar variable list de la GSP a un JAVASCRIPT 

galorn - viernes 18/06/2010

Pues si me ha ido muy bien los arreglos multidimensionales :) muchas gracias!!!!!!!!!!!!!!!

Responder al hilo | Volver al foro "Grails" | Volver a los foros