Foros del Web » Programando para Internet » Javascript »

mostrar value de un select multiple al ir seleccionado

Estas en el tema de mostrar value de un select multiple al ir seleccionado en el foro de Javascript en Foros del Web. hola amigos tengo este detalle quiero ir mostrando en un alert las opciones que voy seleccionando en un selecte multiple tengo este codigo pero solo ...
  #1 (permalink)  
Antiguo 09/05/2005, 09:18
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
Pregunta mostrar value de un select multiple al ir seleccionado

hola amigos tengo este detalle quiero ir mostrando en un alert las opciones que voy seleccionando en un selecte multiple tengo este codigo pero solo funciona para una opcion seleccionada

function sel()
{
var indice=document.forms.formulario.programas.options .selectedIndex;
var valor=document.forms.formulario.programas.options[indice].value;
alert (valor);
}

<form name="formulario">
<select name="programas[]" id="programas" multiple class="selectx" style="height:100px" disabled onchange="sel()">
<optgroup label="Licenciaturas">
<option value="ia">Informática Administrativa</option>
<option value="ci">Comercio Internacional</option>
<option value="cp">Contaduría Pública</option>
<option value="lc">Comunicación y Publicidad</option>
<option value="lm">Mercadotecnia</option>
<option value="ii">Ing. Industrial en Operaciones Internacionales</option>
</OPTGROUP>
</select>
</form>
__________________
gerardo
  #2 (permalink)  
Antiguo 09/05/2005, 18:41
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 3 meses
Puntos: 5
Hola chalchis

Para saber los valores de selection multiple debe hacer un bucle sobre los elementos options, ya que la propiedad selectedIndex te devuelve sólo el índice del primer elemento que encuentre seleccionado.

Código:
<html>
<head>
<title></title>

<script language="JavaScript" type="text/javascript">
<!--



function display_selected(cf) {
 
	var cuantos = 0, msg ="";
	var label_optg = ""
       for (var ctr = 0; opt = cf.options[ctr]; ctr++) {
		   if(opt.parentNode.label) label_optg = opt.parentNode.label
           if (opt.selected) {
			    msg += "  - " + opt.text + "\n"; 
				cuantos++;
        }
    }
    alert ((cuantos > 1 ? "Ha seleccionado " + cuantos + " elementos":cuantos == 0 ?"No ha seleccionado ningún elemento":"Ha seleccionado " + cuantos + " elemento") + 
			        " en " + label_optg +":\n" + msg ) 
	
    
}

//-->
</script>

</head>
<body>

<form>

<br>
<form name="formulario">
<select name="programas[]" id="programas" multiple class="selectx" style="height:100px" onchange="display_selected(this) ">
<optgroup label="Licenciaturas"><option value="ia">Informática Administrativa</option>
<option value="ci">Comercio Internacional</option>
<option value="cp">Contaduría Pública</option>
<option value="lc">Comunicación y Publicidad</option>
<option value="lm">Mercadotecnia</option>
<option value="ii">Ing. Industrial en Operaciones Internacionales</option>
</optgroup>
</select>


   
</form>


</body>
</html>
Un saludo
  #3 (permalink)  
Antiguo 09/05/2005, 19:17
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
ahh grandioso

Gracias por responder si me sirvio mucho
__________________
gerardo
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 18:36.