Ver Mensaje Individual
  #5 (permalink)  
Antiguo 31/12/2008, 07:05
jetzona
 
Fecha de Ingreso: marzo-2006
Mensajes: 202
Antigüedad: 19 años
Puntos: 2
Respuesta: Un arreglo muy especial...

ok, no se si fui claro en el afan de simplificar las cosas, parece que no, pero ahora explico de manera global, abarcando todo el contexto de mi problema.

todo esto se situa en el contexto de dibujar los asientos de un bus., cada ves que selecciono un asiento cambio la imagen a "Poltrona3.jpg" del asiento, y en una caja de texto voy guardando el numero del asiento. si selecciono los asientos 1,2,3,4,5,6

creo una lista similar a "1;2;3;4;5;6" separadas por el caracter ";", si el vendedor se equivoca o sencillamente el cliente no quiere el asiento 4 solo hace click en el asiento, este recupera la imagen con la que viene por defecto que es "Poltrona.jpg" y la lista se modifica a "1;2;3;5;6".

tengo una tabla creada dinamicamente con php, la cual en su interior tiene div's, creados dinamicamente o en tiempo de ejecucion, estos div tiene una imagen dentro que se llama "Poltrona.jpg", a su ves estos div tiene asignados dinamicamente el evento onclick, que realiza la siguiente funcion

Código:
function cambio1(v_div){
vimg = document.getElementById(v_div).style.backgroundImage;//capturo imagen
asiento_select = document.getElementById('asiento').value;//asigno el valor del asiento
	if (vimg == 'url(img/Poltrona.jpg)') { 
		document.getElementById(v_div).style.backgroundImage = 'url(img/Poltrona3.jpg)';//cambio imagen
		if (asiento_select.length == 0){//si es primer click y la lista esta vacia
			 asiento_select = v_div;//asigno a una variable el valor del asiento
		}
		else {//si la lista ya tiene un valor
			 asiento_select = asiento_select + ';' + v_div;//contruyo la lista 1;2;3... etc.
			 document.getElementById('asiento').value = asiento_select;//asigno a la caja de texto la lista creada
		}
	}
	else{//aca comienzo a perderme
		document.getElementById(v_div).style.backgroundImage = 'url(img/Poltrona.jpg)';//si quiero eliminar el asiento, cambio la imagena ala por defecto
		if (asiento_select.length <= 2){//si es el primer valor vuelvo la lista a vacio
			 document.getElementById('asiento').value="";
		}
		else{
			asiento_rc = asiento_select.split(";");//sino convierto la lista a un array para poder eliminar el valor	
			for(i=0;i<asiento_rc.length;i++){//recorro el array
				if(asiento_rc[i] == v_div){//pregunto si es el valor 
					asiento_rc = asiento_rc.killIndex(i);//supuestamente lo elimino
				}
				else{
					asiento_new = asiento_new + ";" + asiento_rc[i];//y a ca supuestamente reconstruyo la lista
				}
			}
			document.getElementById('asiento').value = asiento_new;//aca asigno el valor d ela nueva lista a la caja de texto
		}
	}
}
esto debe tener varios errores pero por eso le pido ayuda, ojala alla sido lo mas claro posible, gracias por sus aportes...