solo pongo una parte, para no marearlos
quiero que al poner un interes, y dependiendo del periodo elegido me recalcule el interes, para esto tengo un TextInput llamado txt_i, un ComboBox llenado con {anual, semestral, cuatrimestral, trimestral, bimestral, etc}
y otro TextInput llamado txt_ri, tuve problemas para mandar imprimir en txt_ri los nuevos valores pero lo solucione, sin embargo, no me muestral el resultado, explico:
ingreso en:
interes = 15
comboBox = semestre (2)
resultado = 0.075
asi deberia de ser, sin embargo me sale solo esto:
interes = 15
comboBox = semestre (2)
resultado = 2
este es mi interface
Código Flex :
<s:TextInput id="txt_i" width="68" visible="true"/> <s:Label text="El interés es:" id="lb_i1" visible="false"/> <s:ComboBox id="inte" visible="false" change="interesTipo(event);"> <s:ArrayCollection> <fx:Object label = "Anual" id = "anual" /> <fx:Object label = "Semestral" id = "seme" /> <fx:Object label = "Cuatrimestral" id = "cuat" /> <fx:Object label = "Trimestral" id = "trim" /> <fx:Object label = "Bimestral" id = "bim" /> <fx:Object label = "Mensual" id = "men" /> <fx:Object label = "Semanal" id = "sem" /> <fx:Object label = "Diario" id = "diar" /> </s:ArrayCollection> </s:ComboBox> <s:TextInput id="txt_ri" width="50" height="20" initialize="mandaInteres(event);" />
y mi codigo as es
Código ActionScript :
<![CDATA[
[Blindable]
import mx.binding.utils.*;
import mx.events.FlexEvent;
import spark.skins.SparkSkin;
import spark.skins.spark.PanelSkin;
import spark.skins.spark.WindowedApplicationSkin;
private var ink:Number;
private var intk:Number;
//funcion mandar datos a resultado de interes;
public function mandaInteres(event:FlexEvent):void {
var watcherSetter:ChangeWatcher =
BindingUtils.bindSetter(interesR, txt_i, "text");
}
public function interesR():void {
intk= Number(txt_i.text);
txt_ri.text = String(Number(intk/ink));
}
// tippo de interes
private function interesTipo(evt:Event):void{
if (inte.selectedIndex == 0){
//anual
ink = 1;
interesR();
}
if (inte.selectedIndex == 1){
//semestral
ink = 2;
interesR();
}
if (inte.selectedIndex == 2){
//cuatrimestral
ink = 3;
interesR();
}
if (inte.selectedIndex == 3){
//trimestral
ink = 4;
interesR();
}
if (inte.selectedIndex == 4){
//bimestral
ink = 6;
interesR();
}
if (inte.selectedIndex == 5){
//mensual
ink = 12;
interesR();
}
if (inte.selectedIndex == 6){
//semanal
ink = 52;
interesR();
}
if (inte.selectedIndex == 7){
//diario
ink = 360;
interesR();
}
}
espero puedan ayudarme
