Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/02/2009, 05:34
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Problema trabajando con divs y bucles

Código HTML:
var array1= new Array(2)
array1[0]="Opcion 1 Array 1";array1[1]="Opcion 1 Array 2";
var array2= new Array(3)
array2[0]="Opcion 2 Array 1";array2[1]="Opcion 2 Array 2";array2[2]="Opcion 3 Array 2";



function cambiasaga(seleccio)
{
	var texto = seleccio.toLowerCase().replace(/ /g,'');
	array = eval(texto);
	var capa = document.getElementById('capalista');
	for(i=0;i<array.length;i++){
	textofinal = "<a href=url.php?j="+eval(texto+"["+i+"]")+">"+eval(texto+"["+i+"]")+"</a><br/>";
	capa.innerHTML+=textofinal;  //<--- aqui  +=
	}	
}

/*Y más abajo, para elegir las distintas opciones, con un onclick sobre otro div. He puesto el código del div solo, pero en realidad estan dentro de la celda de una tabla/*

	<div style="cursor:pointer" onclick="cambiasaga(this.innerHTML)" id="Array 1">Array 1</div>
	<div style="cursor:pointer" onclick="cambiasaga(this.innerHTML)" id="Array 2">Array 2</div>
	
/*Y por último este es el div donde quiero hacer aparecer los valores del array/*

<div id="capalista"></div> 
Creo que con esto basta!!!

El problema es que lo que hacias en cada vuelta del bucle era substituir todo el contenido de innerHTML...

Con el += lo que hara sera agregar al final del contenido lo que aporte cada vuelta del bucle....

No lo he hecho nunca directamente contra innerHTML ... si no funciona puedes hacerlo con una variable de texto y una vez finalizado el bucle pasas la variable al innerHTML.


Código:
for(i=0;i<array.length;i++){
textofinal += "<a href=url.php?j="+eval(texto+"["+i+"]")+">"+eval(texto+"["+i+"]")+"</a><br/>";
}
capa.innerHTML=textofinal;
Quim

Última edición por quimfv; 02/02/2009 a las 05:40