Problema con Dos Picklist

28/05/2008 - 22:07 por Mario Acevedo | Informe spam
Buenas tardes. Tengo dos Picklist que contienen
1. Los departamentos del pais.
2. Los municipios que componen cada departamento del pais.
Deseo que al momento que el usuario seleccione el departamento , en el
segundo picklist presente unicamente los municipios que componen ese
departamento.

Alguien puede ayudarme?, Me disculpan pero soy nuevo en esto. Por favor.
 

Leer las respuestas

#1 Mario Acevedo
10/07/2008 - 02:28 | Informe spam
evento onload del formulario
var CRM_FORM_TYPE_CREATE = 1;
var CRM_FORM_TYPE_UPDATE = 2;


switch (crmForm.FormType)
{
case CRM_FORM_TYPE_CREATE:
case CRM_FORM_TYPE_UPDATE:

//Variable Sub segmento de Mercado
var oSubIndustry = crmForm.all.new_subsegmentodemercado;

//Variable departmentos y municipios

var oMunicipios = crmForm.all.new_municipios;

oSubIndustry.originalPicklistOptions = oSubIndustry.Options;

oMunicipios.originalPicklistOptions = oMunicipios.Options;


if (crmForm.all.industrycode.DataValue == null)
{
oSubIndustry.Disabled = true;
}
else
{
if(oSubIndustry.DataValue == null)
{
industrycode_onchange();
}
}

// Departamentos y Municipios

if (crmForm.all.new_cuidad.DataValue == null)
{
oMunicipios.Disabled = true;
}
else
{
if (crmForm.all.new_municipios.DataValue == null)
{
new_cuidad_onchange();
}
}
break;
}


evento Onchange del atributo creado
var oDepartamento = crmForm.all.new_cuidad;

//Inicializa los index departametales

var iStartIndex = 0;
var iEndIndex = 0;

switch (oDepartamento.SelectedText)
{
case "Chinandega":
iStartIndex = 0;
iEndIndex = 12;
break;
case "León":
iStartIndex = 13;
iEndIndex = 22;
break;
case "Managua":
iStartIndex = 23;
iEndIndex = 31;
break;
case "Masaya":
iStartIndex = 32;
iEndIndex = 40;
break;
case "Granada":
iStartIndex = 41;
iEndIndex = 44;
break;
case "Carazo":
iStartIndex = 45;
iEndIndex = 52;
break;
case "Rivas":
iStartIndex = 53;
iEndIndex = 62;
break;
case "Nueva Segovia":
iStartIndex = 63;
iEndIndex = 74;
break;
case "Jinotega":
iStartIndex = 75;
iEndIndex = 82;
break;
case "Madriz":
iStartIndex = 83;
iEndIndex = 91;
break;
case "Estelí":
iStartIndex = 92;
iEndIndex = 97;
break;
case "Matagalpa":
iStartIndex = 98;
iEndIndex = 110;
break;
case "Boaco":
iStartIndex = 111;
iEndIndex = 116;
break;
case "Chontales":
iStartIndex = 117;
iEndIndex = 126;
break;
case "Río San Juan":
iStartIndex = 127;
iEndIndex = 132;
break;
case "R.A.A.N":
iStartIndex = 133;
iEndIndex = 140;
break;
case "R.A.A.S":
iStartIndex = 141;
iEndIndex = 152;
break;
}

// Obtener municipio de los departamentos

var oMunicipios = crmForm.all.new_municipios;

// En caso de que los índices establecidos, actualizar la los respectivos
municipios

if (iStartIndex > -1 && iEndIndex > -1)
{
// Crea el nuevo arreglo q contedra datos del municipio

var oTempArray = new Array();

// Inicializa el arreglo temporal
var iIndex = 0;

// Copia al arreglo temporal los datos correctos de la seleccion departamentl

for (var i = iStartIndex; i <= iEndIndex; i++)
{
oTempArray[iIndex] = oMunicipios.originalPicklistOptions[i];
iIndex++;
}

// Limpia la lista con los nuevos registros

oMunicipios.Options = oTempArray;

// Activa el acceso a los datos en la lista
oMunicipios.Disabled = false;
}
else
{
// Lo selecciona x el usuario no es correcta. Desabilita los campos

oMunicipios.DataValue = null;
oMunicipios.Disabled = true;
}
"Mario Acevedo" wrote:

Buenas tardes. Tengo dos Picklist que contienen
1. Los departamentos del pais.
2. Los municipios que componen cada departamento del pais.
Deseo que al momento que el usuario seleccione el departamento , en el
segundo picklist presente unicamente los municipios que componen ese
departamento.

Alguien puede ayudarme?, Me disculpan pero soy nuevo en esto. Por favor.

Preguntas similares