Foros del Web » Programando para Internet » Javascript »

generar select multiple

Estas en el tema de generar select multiple en el foro de Javascript en Foros del Web. Hola tengo una funcion para generar un select multiple, para rellenarlo no tengo problema, el problema me surge al indicar cuales son los valores que ...
  #1 (permalink)  
Antiguo 23/02/2010, 13:18
 
Fecha de Ingreso: enero-2004
Ubicación: Granada
Mensajes: 81
Antigüedad: 20 años, 3 meses
Puntos: 0
generar select multiple

Hola tengo una funcion para generar un select multiple, para rellenarlo no tengo problema, el problema me surge al indicar cuales son los valores que deben salir marcados:

Defino el SELECT:
Código:
	var lst = document.getElementById(NombreLista);
	lst.disabled = true;

	lst.options[0] = new Option("Todas",0);

	var aOptionPairs = strOptions.split('|');
	for( var i = 0; i < aOptionPairs.length; i++ ){
		if (aOptionPairs[i].indexOf('~') != -1) {
			var aOptions = aOptionPairs[i].split('~');
			lst.options[i+1] = new Option(aOptions[1], aOptions[0]);
		}	
	}
Defino sus caracteristicas:
Código:
			lst.multiple = true;
			isLoaded[NombreLista] = true;
			lst.disabled = !boolEnabled;
			lst.onchange = eval( NombreLista + "_onChange" );
			selectOption( NombreLista, ID );
Defino la funcion selectOption:
Código:
function selectOption( NombreLista, optionVal ){
// set list selection to option based on value
	if (optionVal == "") optionVal = "0"; //Si no se mandan valores se pone el de por defecto marcado
	var lst = document.getElementById(NombreLista); //Selecciono la lista a rellenar
	var VALORES = optionVal.split(","); //Pongo en una matriz los valores pasados
	if (VALORES.length >= 1){
		for (var j=0;j<VALORES.length;j++){
			for( var i = 0; i< lst.options.length; i++ ){
				if( lst.options[i].value == VALORES[j] ){
					lst.selectedIndex = i;
					curOption[NombreLista] = VALORES[j];
				}
			}
		}
	}else {
		selectOption( NombreLista, VALORES[0] );
	}
}
__________________
VitoVi.com
Responsable Programación Web

Etiquetas: select
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 14:52.