Foros del Web » Programando para Internet » Javascript »

vector dinamico

Estas en el tema de vector dinamico en el foro de Javascript en Foros del Web. Hola a todos... queria sber como hacer para agregar elementos a un vector. por ejemplo: var vector = New Array(elemento1,elemento2,elementoN); para despues poder utilizarlo como ...
  #1 (permalink)  
Antiguo 20/06/2011, 21:18
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
vector dinamico

Hola a todos... queria sber como hacer para agregar elementos a un vector. por ejemplo:

var vector = New Array(elemento1,elemento2,elementoN);

para despues poder utilizarlo como parametro en Ajax. El tema es que no logro como hacer 'crecer' el vector. El trabajo que estoy realizando ahora tengo un formulario como checkboxes y un boton.. y al ser presionado ese boton llama a una funcion que controla los checkboxes que fueron seleccionados (checked) y quiero que me los ponga a los seleccionados dentro de un array..


Saludossss!!!! y gracias aquel/lla que me logre ayudar!!!!
  #2 (permalink)  
Antiguo 20/06/2011, 23:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: vector dinamico

Hola:

Los arrays tienen métodos como push o unshift para agregar elementos por detrás o delante según se quiera, y se complementa con pop y shift.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 21/06/2011, 10:09
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: vector dinamico

te la he 'tuneado' un poco:
------------------------
function enarray (vecNrs , nro)
{
var retorno=false;
for ( var i=0; i < vecNrs.length; i++ )
{
if ( vecNrs[i] == nro )
{
//i=vecNrs.length
//solo cambia a true cuando hay que añadir el dato al array
retorno=true;
}
//no se pone el else porque si la última posición no coincide te lo va a dejar a false
//y se de antes se había cambiado a true no te lo va a añadir
//else
//retorno=false
}
//return retorno;
//y ahora compruebas si hay que añadir una posición más al array
if(retorno == false) //también se puede poner--> if(!retorno)
vecNrs.push(nro);

return vecNrs;
}
----------------------------------
también le he añadido algunos comentarios, para que entiendas ciertas cosas.

a ver si te funciona, jejejeje.

saludos
  #4 (permalink)  
Antiguo 21/06/2011, 14:54
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: vector dinamico

Muchas gracias a ambos por las respuestas!!!!, ahora me surgio otra duda..

¿Se puede hacer referencia a un checkbox por value ?
ya que tengo un formulario con muchos checkbox y estan formador por el mismo 'id' pero cada uno tiene su valor en 'value' que seria el id (de mi tabla de la bbdd). Y en mi script verifico si hay mas de 1 checkbox marcado.. si es true.. quiero que les cambie el color de borde de los checkbox y si es false, que no haga nada.

Utilizo la libreria Prototype. estuve buscando en la pagina pero no consigo lo que estoy buscando..


Saludos!!.
  #5 (permalink)  
Antiguo 21/06/2011, 23:09
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 4 meses
Puntos: 87
Respuesta: vector dinamico

Si tiene todos los checkbox con el mismo ID esta haciendo algo bastante mal...
  #6 (permalink)  
Antiguo 22/06/2011, 01:05
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: vector dinamico

juan_14nob,

Tiene razón inKarc en decirte que si los checkbox tienen todos el mismo ID esta mal, muy mal! jejejeje.
no vas a poder diferenciar unos de otros, porque para recoger el objeto en javascript vas a necesitar el id (getElementById), el name (getElementByName) o la etiqueta (getElementByTagName). es posible que javascript no sea capaz de diferenciar unos de otros, por que todos tienen el mismo ID. date cuenta que el ID es vital para diferenciar una cosa de otra (ID=identificador). Trata de distinguir unos checks de otros porque puede que ahora sí seas capaz de distinguirlos y jugar con ellos, pero luego puede que tengas añadir algo más y ahí surja el conflicto. y a veces cambiar un par de líneas de código no es problema, pero si avanzas en tu proyecto y al final no te queda más remedio que cambiar mil líneas seguro que no te agradará...

y otra cosa, va a ser difícil cambiar el borde de los checks ya que el diseño de estos es fijo, no se puede cambiar.
una alternativa para este efecto que quieres es pintar una imagen de tu cosecha que sea similar a un check, y con el evento onclick que cambie la imagen por otra con los bordes cambiados.

saludos.

Etiquetas: dinamico, vectores
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




La zona horaria es GMT -6. Ahora son las 16:32.