Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2010, 13:18
vitogq
 
Fecha de Ingreso: enero-2004
Ubicación: Granada
Mensajes: 81
Antigüedad: 21 años, 2 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