Foros del Web » Programando para Internet » Javascript »

Problemas al mostrar un elemento de un array de javascript

Estas en el tema de Problemas al mostrar un elemento de un array de javascript en el foro de Javascript en Foros del Web. Hola, haber si me podeis solucionar el problemilla que tengo con una función Tengo un array con distintas personas, aquí os pongo un ejemplo var ...
  #1 (permalink)  
Antiguo 18/10/2013, 03:13
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 10 años, 11 meses
Puntos: 0
Problemas al mostrar un elemento de un array de javascript

Hola, haber si me podeis solucionar el problemilla que tengo con una función
Tengo un array con distintas personas, aquí os pongo un ejemplo

var nombre = new Array();
nombre = [["Daniel","Ford",21,"María"],
["Luis","Renault",18,"Iván"],
["María","Seat",14,"Iván"],
["Iván","Nissan",26,"Luis"]];

Y muestro los datos de los distintos socios a través de un cuadro para cada uno de los socios que construyo a través del innerHTML y necesito que en el div de cada socio me muestre también un dato de otro socio, así que añado su nombre al resto de elementos, para dejarlo más claro, en el cuadro de Daniel junto con sus datos, coche, años, etc., tiene que aparecer, por ejemplo, el coche de María, así que en el objeto Daniel, pongo el elemento María para que me busque este nombre y me muestre su coche en el cuadro de Daniel y así con todos.

Esta es la idea de la función

function otrosocio() {
var resultado;
var nOtrosocio = array[i][3];
var nSocio = array[i][0];

for(var i=0; i<array.length; i++) {
if (nOtrosocio == nSocio){
resultado = array[i][1];
}
return (resultado);
}
}

document.getElementById("lNombres").innerHTML += " \
<div class=socios><div class=nombre>" + array[i][0] + " \
<div class=coche>" + array[i][1] + " \
<div class=sociobis>" + otrosocio()+ " \
</div></div></div>";

Saludos
  #2 (permalink)  
Antiguo 18/10/2013, 04:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
Respuesta: Problemas al mostrar un elemento de un array de javascript

Porque no usas $jquery().append()?

creas un contenedor general y lo usas en el append para que te genere los divs dinamicamente dentro de ese contenedor.
No te olvides de usar el indice del array para individualizarlos y listo.
Si te gusta lo chik podes crear los divs con display:none y cuando este cargado hacerle un fadeIn Slow y huala!!!.
  #3 (permalink)  
Antiguo 18/10/2013, 07:00
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Problemas al mostrar un elemento de un array de javascript

Gracias por responder, te comento que de jquery no tengo ni idea y de javaScript mis conocimientos son limitados, estoy aprendiendo y además ya lo tengo todo hecho, ya están construidos los div a traves del innner HTML y sólo me falta solucionar el pequeño problemilla de la función.
  #4 (permalink)  
Antiguo 22/10/2013, 06:05
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Problemas al mostrar un elemento de un array de javascript

El problema que planteo en mi primer mensaje ya está solucionado, pero ahora me surge otro problema relacionado con lo mismo.

var nombre = new Array();
nombre = [["Daniel","Ford",21,"María"],
["Luis","Renault",18,"LA"],
["María","Seat",14,"Iván"],
["Iván","Nissan",26,"ZO"]];

Necesito una función que me vaya comparando el contenido del array[i][3] con todos los objetos del array[i][0] y si encuentra el mismo texto que me muestre una tabla en el cuadro del nombre correspondiente y en el resto no muestre nada, por ejemplo, en el cuadro de Daniel, que compruebe si María del array[3] existe en el array[i][0] como existe me muestra la tabla, pasa al siguiente Luis, en este caso como "LA" no existe no muestra nada y así sucesivamente.

En esta función que he hecho necesito incluir la variable nom y que la compare con el contenido de nombre[i][0] y muestre la tabla si son iguales y no si son distintas

function mostrar() {
for(var i=0; i<nombre.length; i++) {
var nom = array[i][3];
var nodoLower=nombre[i][0].toLowerCase();
if(nodoLower.indexOf(nombre[i][0].toLowerCase())!=-1) {
mostrarNom = "tabla";
}else {
mostrarNom = "";
} }
}

Etiquetas: elemento, html
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 05:46.