Ver Mensaje Individual
  #10 (permalink)  
Antiguo 08/04/2003, 07:05
Avatar de bakanzipp
bakanzipp
 
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 6 meses
Puntos: 0
ok....disculpen por no revisar el codigo...pero el trabajo me tiene de cabeza...

lo que si puede ser una pista (lo que creo) es el uso de un flag que hace un barrido de la primera lista cuando la limpia y el width y el heigth del segundo combo.

Código:
<tr><td>
<select name="Banco" size="1" OnChange="ComponerLista(document.forms.frmTransf.Banco[selectedIndex].value,false);">
<OPTION value=0>Seleccione Banco</OPTION>
<%Set rs = objTransferencias.Bancos()
while not rs.eof%>
<OPTION VALUE="<%=rs.Fields("ID_Banco")%>"<%if session("volver")=1 then%><%if rs.Fields("ID_Banco")=cint(session("codigobanco")) then %>SELECTED<%end if%><%end if%>>
<%=rs.Fields("strDescr")%></OPTION>
<%rs.MoveNext
wend
rs.Close%>
&nbsp;&nbsp;
</select>
</td></tr>
<tr><td>
<SELECT NAME="TipoCta" width=220 height=200>&nbsp;&nbsp;</font></SELECT>
</td></tr>

<SCRIPT LANGUAGE="Javascript">
 function Tupla ( campo1, campo2)
 {
	
  this.campo1 = campo1;
  this.campo2 = campo2;
  
 }
 <%
set ms = objTransferencias.Bancos()
	
cat="basura"
while not ms.EOF 
if cat<>ms.Fields("ID_Banco") then
cuenta=ms.Fields("ID_Banco")
%>
var arreglo<%=cuenta%> = new Array();
<%end if%>

<%if cuenta="28" then%>
arreglo<%=cuenta%>[0]=new Tupla("<%=ms.Fields("strCCACtaCte")%>","");
<%if ms.fields("strCCACtaCte")="S" then%>
arreglo<%=cuenta%>[0].campo1="Cuenta Corriente"
<%else%>
arreglo<%=cuenta%>[0].campo1=""
<%end if%>	
<%else%>
arreglo<%=cuenta%>[0]=new Tupla("<%=ms.Fields("strCCACtaCte")%><%=ms.Fields("strCCACtaVista")%>","<%=ms.Fields("strCCACtaAhorro")%>");
<%if ms.fields("strCCACtaCte")="S" and ms.fields("strCCACtaVista")="S" then%>
arreglo<%=cuenta%>[0].campo1="Cuenta Corriente - Cuenta Vista"
<%end if%>
<%if ms.fields("strCCACtaCte")="S" and ms.fields("strCCACtaVista")="N" then%>
arreglo<%=cuenta%>[0].campo1="Cuenta Corriente"
<%end if%>
<%if ms.fields("strCCACtaCte")="N" and ms.fields("strCCACtaVista")="S" then%>
arreglo<%=cuenta%>[0].campo1="Cuenta Vista"
<%end if%>
	
<%if ms.fields("strCCACtaAhorro")="S" then%>
arreglo<%=cuenta%>[0].campo2="Cuenta Ahorro"
<%else%>
arreglo<%=cuenta%>[0].campo2=""
<%end if
end if
ms.MoveNext
wend
%>
<%cuenta=0%>
var arreglo<%=cuenta%> = new Array();
arreglo<%=cuenta%>[0]=new Tupla("NN","N");
arreglo<%=cuenta%>[0].campo1="";
arreglo<%=cuenta%>[0].campo2="";
<%ms.Close
set ms=nothing
%>
	
function ComponerLista ( array,flag ) 
{
	
var Banco=array;
BorrarLista();
array = eval("arreglo" + array);
var modifica;
var Cuenta;
var k=0;
var OpcionCte,OpcionAhorro;

OpcionCte=0;
OpcionAhorro=0;

var optionObj1 = new Option("Seleccione Tipo de Cuenta");
 document.frmTransf.TipoCta.options[k] = optionObj1;
 k=k+1;

if (array[0].campo1!="")
{
 var optionObj2 = new Option(array[0].campo1);
 document.frmTransf.TipoCta.options[k] = optionObj2;
 k=k+1;
 OpcionCte=1;
}
if (array[0].campo2!="") 
{ 
 var optionObj3 = new Option(array[0].campo2);
 document.frmTransf.TipoCta.options[k] = optionObj3;
 k=k+1;
 OpcionAhorro=1;
}
Cuenta="<%=session("TipoCta")%>";
modifica="<%=session("volver")%>";
if ((modifica==1) && (flag==true))
{
 if ((OpcionAhorro=="0") && (OpcionCte=="0"))
 {
  document.frmTransf.TipoCta.options[0].selected = true;
  } 
 if (((Cuenta=="Cuenta Corriente")||(Cuenta=="Cuenta Corriente - Cuenta Vista")) && (OpcionCte=="1"))
 {
  document.frmTransf.TipoCta.options[1].selected = true;
  OpcionCte=0;
 } 
 if ((Cuenta=="Cuenta Ahorro") && (OpcionAhorro=="1"))
 {
    document.frmTransf.TipoCta.options[2].selected = true;
    OpcionAhorro=0;
 }
}
else
 {//se agrego ********************
  if (k==2) 
    document.frmTransf.TipoCta.options[1].selected = true;
  else 
    document.frmTransf.TipoCta.options[0].selected = true;
 } //*****************************
 }  
	
function BorrarLista() 
{
 document.frmTransf.TipoCta.length=0;
}
function Cargar()
{
 var Banco="<%=session("codigoBanco")%>";
 var flag;
 
 if (Banco!="")
  {
   flag=true;
   ComponerLista (Banco,flag);  
  }
 else
  {
   if (document.frmTransf.Banco.value!=0)  
    {
      flag=true
      ComponerLista (document.frmTransf.Banco.value,flag);  
    }  
   else
    {
      flag=false;
      ComponerLista (0,flag);  
    }
      
  }
 } 

</script>
Bueno esta bastante diferente al original...espero que sea digerible