Foros del Web » Programando para Internet » Javascript »

Add Option to List and display it on the First Position (selected) of the list

Estas en el tema de Add Option to List and display it on the First Position (selected) of the list en el foro de Javascript en Foros del Web. Hola amigos!! como estan! bueno... espero que mejor que yo!.... que no logro solucionar este problemita.... Espero que no haya problemas de que lo escribi ...
  #1 (permalink)  
Antiguo 15/01/2003, 18:03
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
Add Option to List and display it on the First Position (selected) of the list

Hola amigos!! como estan! bueno... espero que mejor que yo!.... que no logro solucionar este problemita....

Espero que no haya problemas de que lo escribi en ingles
pero basicamente lo que quiero hacer es eso.... "Add Option to List and display it on the First Position (selected) of the list"

Traducido al español... seria algo asi como.... "agregar una opcion en un List/Menu y que esta aparesca en el primer lugar del List como <selected>"

Lo que hice hasta el momento fue... desde una ventana modal.... agrego un nuevo item en el combo box (list) que esta en la pagina principal.... esto anda Joya!... pero la nueva opcion me la agrega en el ultimo lugar de la listita.......

Yo quiero que aparesca en Primer Lugar ya que seria mas comodo para el usuario porque no tendria que volver a cliquear en el List para buscar la nueva opcion que agrego recientemente!....


Bueno.... no se si soy claro!... espero que Si!
Gracias de antemano!.....
__________________
tech-nico.com
  #2 (permalink)  
Antiguo 15/01/2003, 20:22
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 889
Antigüedad: 22 años, 4 meses
Puntos: 4
Cita:
Lo que hice hasta el momento fue... desde una ventana modal.... agrego un nuevo item en el combo box (list) que esta en la pagina principal.... esto anda Joya!... pero la nueva opcion me la agrega en el ultimo lugar de la listita.......

Yo quiero que aparesca en Primer Lugar ya que seria mas comodo para el usuario porque no tendria que volver a cliquear en el List para buscar la nueva opcion que agrego recientemente!....
¿Por qué no dejas el código y así le echamos un vistazo?


Saludos!
  #3 (permalink)  
Antiguo 15/01/2003, 20:28
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola OXIGENO.

Cita:
Espero que no haya problemas de que lo escribi en ingles
Ciertamente las políticas de los foros hablan de la obligatoriedad del uso del español, sin embargo, tu no estás planteando una pregunta usando un idioma distinto. Tu pregunta es en perfecto español aunque reportes un mensaje, que es el objeto de tu pregunta, en inglés.

No te preocupes por eso...

Saludos.
  #4 (permalink)  
Antiguo 15/01/2003, 21:37
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
hola... ahi va el codigo... que armamos con Yanix (Yanira)

--------------------------------------------------------------------------
principal.html

<HTML>
<HEAD>
<SCRIPT language=javascript>
function openWin() {
if (document.all){
tamanos='dialogHeight: 250px; dialogWidth: 350px;edge: Raised; center:Yes; help: No; resizable: No; unadorned: yes; status: No';
eltexto="";
//document.formprinc.textMain.value;
elvalor=showModalDialog("lamodal.html", eltexto, tamanos);
if (! elvalor) {
//alert(elvalor);
} else {
document.formprinc.miinput.value=elvalor;
var oOption = document.createElement("OPTION");
oOption.text=elvalor;
oOption.value=0;
document.all.menu.add(oOption);
}
}
}
</SCRIPT>
<BODY>
<FORM name=formprinc>
<p>Localidad:
<select name="menu" id="menu">
<option value="1">Guatrache</option>
</select>
<input name="button" type=button onClick=openWin() value="&lt; + + &gt;">
</form>
</BODY>
</HTML>




--------------------------------------------------------------------------
lamodal.html

<HTML>
<BODY>
<FORM name=lamodal onSubmit="return false;" >
<BR>
Ingresar Localidad:
<INPUT
size=25 name=mioutput> <BR>
<INPUT onclick=cerrar() type=button value="Cerrar y Regresar a la principal"></FORM>
<SCRIPT language=javascript>
//document.lamodal.textModal.value=window.dialogArgu ments;
function cerrar() {
if (document.lamodal.mioutput.value) {
window.returnValue=document.lamodal.mioutput.value ;
window.close();
} else {
alert("Debe Ingresar una Localidad en el Campo de Texto.");
}
}
</SCRIPT>
</BODY>
</HTML>

--------------------------------------------------------------------------

Espero que sepan ayudarme!...... saludos!!!
__________________
tech-nico.com
  #5 (permalink)  
Antiguo 16/01/2003, 14:34
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Oxígeno:
Espero que esto te sirva...
Principal.html
Código:
<HTML>
<HEAD>
<SCRIPT language=javascript>
function openWin() {
	if (document.all){
		tamanos='dialogHeight: 250px; dialogWidth: 350px;edge: Raised; center:Yes;
help: No; resizable: No; unadorned: yes; status: No';
		eltexto="";
		//document.formprinc.textMain.value;
		elvalor=showModalDialog("lamodal.html", eltexto, tamanos);
		if (! elvalor) {
			//alert(elvalor);
		} else {
			//document.formprinc.miinput.value=elvalor;
			var oOption = new Array(elvalor,0);
			var lista = document.formprinc.menu;
			var arOpciones = new Array();
			tempArr = new Array();

			for (j=0; j<lista.length; j++){
				tempArr =[lista.options[j].text, lista.options[j].value];
				arOpciones[j] = tempArr
			}

			arOpciones.unshift(oOption);

			for (k=0; k<arOpciones.length; k++){
				tempOpt = new Option(arOpciones[k][0], arOpciones[k][1]);
				lista.options[k] = tempOpt;
			}
		}
	}
}
</SCRIPT>
<BODY>
<FORM name="formprinc">
<p>Localidad:
<select name="menu" id="menu">
<option value="1">Guatrache</option>
</select>
<input name="button" type=button onClick=openWin() value="&lt; + + &gt;">
</form>
</BODY>
</HTML>
Está un poco enrevesado porque no puedo manipular directamente el array options de un select, pero supongo que puede reducirse el código.
Saludos.
  #6 (permalink)  
Antiguo 16/01/2003, 16:54
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
Muchas Gracias amigo!..... lo estuve probando y me dio unos errorcitos... pero seguro que son de sintaxis... asi que lo voy a tratar de solucionar....!!!!!

Gracias!... con esto ya puedo trabajar en base a algo hecho!!!!

cualquier inconveniente te pregunto!!!!
__________________
tech-nico.com
  #7 (permalink)  
Antiguo 16/01/2003, 17:06
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Oxígeno:
A mi no me dió error alguno.
Pero puedes ver como funciona en http://www.plazavec.com.mx/SOCIOS/000/modal_testA.htm
Estaba pensando que con una cookie puede servir para almacenar busquedas anteriores hechas por alguien. Bueno será después.
Saludos.
  #8 (permalink)  
Antiguo 16/01/2003, 17:15
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2

Hola maestro.... retiro lo dicho!.... Anda de Maravilla!!!

una locura!.... te hago otra pregunta!

Supongamos que la opcion que se desplaza hacia arriba del todo en el list tiene un .text = "xxxxx" y un .value = "38"

Con el text vi que no hay ningun drama!... pero... en el caso del VALUE.... cuando se desplaza hacia arriba... el valor se conserva???

Bueno!... Muchas Gracias... te agradesco muchisimo!.... con estoy ya me quedo mas que contento!!!
__________________
tech-nico.com
  #9 (permalink)  
Antiguo 16/01/2003, 17:32
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Oxígeno:
Los textos y los values de las opciones del select se mantienen juntas.
Primero quise manipular el array options del select, pero parece que dicho array no tiene implementados los métodos del objeto Array.

Código:
for (j=0; j<lista.length; j++){
  //Así, usamos un array paralelo a las opciones del select.
  //Es decir, almacenamos arrays de dos elementos que
  //corresponden al text y al value de cada opción en el select.

  tempArr =[lista.options[j].text, lista.options[j].value];
  arOpciones[j] = tempArr
}

//Después se mete la nueva opción al principio
//de dicho array (unshift).
arOpciones.unshift(oOption);

//Y por último, se asignan estos arrays a los options del select.
//"arOpciones[k][0]" corresponde al text y
//"arOpciones[k][1]" corresponde al value
for (k=0; k<arOpciones.length; k++){
  tempOpt = new Option(arOpciones[k][0], arOpciones[k][1]);
  lista.options[k] = tempOpt;
}
Saludos
  #10 (permalink)  
Antiguo 16/01/2003, 17:39
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
Impresionante!!!.... Espectacular!!!

Es Justo lo que estaba buscando!..... no te das una idea de como lo busque por todos lados... lo unico que logre encontrar es

<script>
document.form.list.selectedIndex=3;
</script>

Por lo que vi en un ejemplo esto te lleva la opcion que agregaste al primer lugar del List.... (Selected) con solo darle el Value

No llegue a probarlo... porque le dedique mas tiempo a otras cositas....

Pero te lo agradesco muchisimo... espero poder ayudarte alguna ves!!! gracias!:.
__________________
tech-nico.com
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 01:23.