Ver Mensaje Individual
  #7 (permalink)  
Antiguo 20/06/2008, 23:58
MatiasDV
 
Fecha de Ingreso: junio-2008
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Como puedo agregar y eliminar opciones dentro de un SELECT de HTML con jav

Buenas, buen instructivo y es algo similar a lo que necesito.

mira mi codigo mas abajo
(funciona) pero lo que necesito es hacerlo dinamico del todo. para esto quiero ahora lograr. utilizando un "onclick" en el BODY, poder pasar como parametro un objeto o tan solo el "id" y "text" de la "TD" clickeada.

Para esto escuche que existe un metodo llamado algo asi como busqueda burbuja ó burbujeante (nose bien, sino lo hubiera leido). Se basa en la gerarquia del documento y asi rastrear donde se hizo click, entonces segun sé, uno puede pasar como parametro de la funcion "this" para luego comparar si se hizo click en una TD y conocer su "id" y "text".

El problema que no encuentro que contenga valor cuando paso "this" y me lleva a pensar que no estoy pasando bien las cosas. y el metodo de rastrear se realiza al momento de pasar el valor (yo probé pasando --onclick= "PoblarLista(this)"--)...y creo que el metodo debe ser pasando "this.algo" o referenciando "document.algo y quien sabe que mas".

Mi consulta es consiza, solo quiero saber como llegar a hubicar los valores de donde se hace click y para esto que debo pasar como parametro.?? Busque pero nose de que manera buscar en google para llegar a algun ejemplo ó el titulo del tema.


Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Div 04</title>
</head>

<body onload="CreaLista();">

<div id="div04" descrip = Color de fondo style="display: block">

<table border="3" id="Tabla">
<tr style="color:blue"><th colspan="5"></th>Tabla de colores</tr>
	<tr>
		<td name="celda1" id="FF0000" text="Rojo" style="background-color:red" onClick="javascript:PoblarLista (this.id, this.text);">Rojo</td>
		<td id="0000FF" text="Azul" style="background-color:blue" onClick="javascript:PoblarLista (this.id, this.text);">Azul</td>
	<tr>
		<td id="009900" text="Verde" style="background-color:green" onClick="javascript:PoblarLista (this.id, this.text);">Verde</td>
		<td id="FFFF00" text="Amarillo" style="background-color:yellow" onClick="javascript:PoblarLista (this.id, this.text);">Amarillo</td>
	</tr>
</table>

<script language= "javascript">

function CreaLista ()
{
  oSelect = document.createElement('SELECT');
  oSelect.id = "combo";
  oSelect.name = "Colores";
  op = document.createElement("OPTION");	
  op.value = '99';
  op.value = 'FFFFFF';
  op.text = 'Seleccione un color del cuadro';
  op.selected = true;
  oSelect .options[0] = op;
  document.body.appendChild(oSelect);
  oSelect.attachEvent('onchange', function() {ColorFondo(combo);});
}

function PoblarLista (id, t)
{
  var cont=0;
  existe = 'NO';
  for(var i=0; i < oSelect.length; i++)
   {
	 if (id == combo[cont].value)
	 	{existe = 'Si';}
	 cont++;
	}
  if (existe == 'NO')
  {
  op = document.createElement("OPTION");
  op.value = id; 
  op.text = t;
  //op.selected = true;
  oSelect.options[cont] = op;
  document.body.appendChild(oSelect);
  }
}

function ColorFondo(c)
{
  document.bgColor = c.value;
}
</script> 
</div>

</body>
</html>