Foros del Web » Programando para Internet » Javascript » Frameworks JS »

variable con un each

Estas en el tema de variable con un each en el foro de Frameworks JS en Foros del Web. Hola me gustaría saber si puedo utilizar un operador que uso comunmente en php .= en un each de jquery. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : ...
  #1 (permalink)  
Antiguo 22/06/2011, 13:34
 
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 14 años, 10 meses
Puntos: 1
variable con un each

Hola me gustaría saber si puedo utilizar un operador que uso comunmente en php .= en un each de jquery.

Código Javascript:
Ver original
  1. $("input."+tabla).each(function(){
  2.      var datos = "&"+$(this).val();
  3.      
  4. });
  5. console.log(datos);

No se si sea posible.

gracias
  #2 (permalink)  
Antiguo 22/06/2011, 13:44
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: variable con un each

Si en PHP . se usa para contenar, y en JS se usa +...
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 22/06/2011, 14:03
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: variable con un each

En php el operador es .= y en javascript es +=
En tu codigo, seria asi:

Código Javascript:
Ver original
  1. var datos = ""; //debes declararlo fuera del each, para que no chanques el valor en cada bucle.
  2. $("input."+tabla).each(function(){
  3.      datos+= $(this).val() + "&";
  4. });
  5. datos = datos.substring(0, datos.length - 1); //para que quites el ultimo ampersand
  6. console.log(datos);

P.D. En vez de concatenar los valores, podrias haber agregado cada valor a un arreglo y luego con join lo unias con el ampersand, asi:

Código Javascript:
Ver original
  1. var datos = Array();
  2. $("input."+tabla).each(function(){
  3.      datos[] = $(this).val();
  4. });
  5. datos = datos.join("&");
  6. console.log(datos);

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 22/06/2011, 14:20
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: variable con un each

Cita:
Iniciado por masterojitos
Código Javascript:
Ver original
  1. var datos = Array();
  2. $("input."+tabla).each(function(){
  3.      datos[] = $(this).val();
  4. });
  5. datos = datos.join("&");
  6. console.log(datos);
.
Que yo sepa en JS no se puede usar [] para agregar un elemento al final de un array. O bien usas push, o bien haces:
Código:
array[array.length] = ...
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 22/06/2011, 14:34
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: variable con un each

Tienes toda la razon cronos... se me paso, mucho PHP xD
Pero bastaria con hacer lo siguiente:

Código Javascript:
Ver original
  1. var datos = Array();
  2. $("input."+tabla).each(function(){
  3.      datos[datos.length] = $(this).val();
  4.      //datos.push($(this).val()); //de la otra forma que mencionaste
  5. });
  6. datos = datos.join("&");
  7. console.log(datos);

Suerte a todos.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 22/06/2011, 15:15
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: variable con un each

Cita:
Iniciado por masterojitos
Tienes toda la razon cronos... se me paso, mucho PHP xD
Yo también cometo fallos en PHP por "culpa" de JS, muchas veces me dejo el $ en las variables, la costumbre
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #7 (permalink)  
Antiguo 22/06/2011, 15:15
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: variable con un each

Aprovechando lo poco que ofrece jQuery al respecto:

Código Javascript:
Ver original
  1. var datos = $('input').map(function() {
  2.    return $(this).val();
  3. }).toArray().join('&');
__________________
blog | @aijoona
  #8 (permalink)  
Antiguo 22/06/2011, 15:18
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: variable con un each

Cita:
Iniciado por Aijoona
Aprovechando lo poco que ofrece jQuery al respecto:

Código Javascript:
Ver original
  1. var datos = $('input').map(function() {
  2.    return $(this).val();
  3. }).toArray().join('&');
Claro, suponiendo que sepas jQuery, porque yo personalmente no tengo ni idea
Trato de no usarlo cuando puedo, y si lo uso es para efectos que me llevaría mucho tiempo hacer desde 0.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #9 (permalink)  
Antiguo 22/06/2011, 15:23
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: variable con un each

Es bueno saber usar las herramientas, cuanto más programas mas pragmatico te volvés. El 95% de las veces no tiene sentido trabajar de más (haciendo las cosas de 0).

Además el map es algo bastante usado en el mundo JS.
__________________
blog | @aijoona

Etiquetas: javascript, jquery
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:17.