Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/03/2007, 20:00
Avatar de MaBoRaK
MaBoRaK
 
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 8 meses
Puntos: 35
Re: Solución añadir select dinámicamente

loading...........


creo que asi se veria mejor para analizarlo AL VUELO

Código PHP:
<html>
<
head>
<
meta http-equiv="Content-Language" content="es">
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<
meta Author=IR>
<
title>N&#250;mero de Revisores</title>
<SCRIPT LANGUAGE="JavaScript">

function 
addSelect(){
    var 
num_select=document.revisores.num_rev.value//obtengo el valor del select
    
    
var select document.getElementsByTagName("select");
    var 
select_actuales select.length -1//numero de select ya añadidos
    //resto 1 porque el select[0] es el que muestra los numeros y no lo voy a contar

    
if (select_actuales num_select){
        
//añado tantos select como me indique el numero menos los que tengo añadidos ya
        
var poner = (num_select select_actuales);
        
num_nombre=select_actuales+1//para poner el numero del revisor al select
        
        
for (var i=0i<poneri++){
            var 
nuevoSelect document.createElement("select"); //creo el nodo del select
            
            //elijo nombres correlativos para lo select para diferenciarlos
            
nombre_select="select"+num_nombre;
            
num_nombre++;
            
            
nuevoSelect.setAttribute("name"nombre_select); //añado el nombre al select
            
var nuevoOption document.createElement("option"); //creo el nodo option
            
            //por ejemplo voy a meter solo 1 valor al select
            
var nodoTextoOption document.createTextNode("opcion 1"); //creo un nodo texto para el option
            
nuevoOption.appendChild(nodoTextoOption); //añado el nodo texto al nodo option
            
nuevoSelect.appendChild(nuevoOption); //añado el nodo option al nodo select
            
            
var cuerpoRef document.getElementsByTagName("body")[0]; //saco el nodo en el que quiero colgarlo
            
cuerpoRef.appendChild(nuevoSelect); //engancho el nodo creado al padre
            
        
}
    }else{
        
//el valor del número es menor que el número de select que tengo puestos, hay que eliminar nodos
        
var select_actuales - (select_actuales num_select); // j es el nodo en el que hay que parar de eliminar
        
        //elimino hijos a partir del último hasta quedarme con el numero seleccionado
        
for (var i=select_actualesi>ji--){
            var 
select document.getElementsByTagName("select")[i]; //selecciono el nodo final
            
var padre select.parentNode//busco el padre del nodo final
            
var hijo_borrado padre.removeChild(select); //elimino el nodo final
        
}
    }

    
select_actuales=i//almacena el numero de revisores puestos
}

</SCRIPT>
</head>

<body>
<form name='revisores' METHOD=POST ACTION="">
    <p>Selecciona el número de Select 
    <p><select size='1' name='num_rev' onchange='addSelect()'>
        <option value='1'> 1 </option>
        <option value='2'> 2 </option>
        <option value='3'> 3 </option>
        <option value='4'> 4 </option>
        <option value='5'> 5 </option>
        <option value='6'> 6 </option>
       </select>
    </p>
    </p>

</form>
</body>
</html> 


connection closed.
__________________

Maborak Technologies