Ver Mensaje Individual
  #228 (permalink)  
Antiguo 09/09/2005, 05:06
Avatar de KarlanKas
KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
230. Añadir desde un text box una opción a un select

P: ¿Cómo añadir desde un textbox una opción a un select y como borrar una opción del select con un botón?
R: Con este código:

Código PHP:
<html>
<
head>
<
title>Untitled</title>
<
script>

//Script hecho por Karlankas para las FAQ de forosdelweb.com

function mandarlo(){
    
    
formulario=document.forms['estacosa'];
    
ultimaOpcion=formulario['cosas'].options.length;
    
texto=formulario['palabras'].value;
    
valor=formulario['palabras'].value;
    
    if(
texto!=""){
        
nuevaOpcion=new Option(texto,valor);
        
formulario['cosas'].options[ultimaOpcion]=nuevaOpcion;
        
formulario['palabras'].value="";
        
formulario['cosas'][0].text="Opcion Añadida";
        
opcionElegida=formulario['cosas'].selectedIndex=0;
        
setTimeout('formulario["cosas"][0].text="Elige una opción";',800);
        
    }
}

function 
borrar(){
    
formulario=document.forms['estacosa'];
    if(
formulario['cosas'].selectedIndex>0){
        
opcionElegida=formulario['cosas'].selectedIndex;
        
formulario['cosas'].options[opcionElegida]=null;
        
formulario['cosas'][0].text="Opcion Borrada";
        
opcionElegida=formulario['cosas'].selectedIndex=0;
        
setTimeout('formulario["cosas"][0].text=(formulario["cosas"].options.length>1)?"Elige una opción":"No hay opciones";',800);
        
    }
}
</script>
<style>
*{font:normal 10px/10px verdana;}
input{
border:ridge 2px;
}
</style>
</head>

<body>
<form action="" id="estacosa" name="estacosa">
    <input type="text" name="palabras" id="palabras" />
    <input type="button" name="mandar" id="mandar" value="->" onclick="mandarlo()" onclick="mandarlo()" />
    <select style="width:150px;" id="cosas" name="cosas" size="1">
        <option>No hay opciones</option>
    </select>
    <input type="button" style="color:red;font:bold 10px verdana" value="X" onclick="borrar()" />
</form>


</body>
</html> 
En la function mandarlo hay 2 variables que son texto y valor, las distingo por si se quiere añadir algo al texto introducido en el valor de la opción. También se podría hacer otro textbox para introducir el valor.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.