Flex 弹框选择比例问题解决:代码解析与优化
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="400" height="300"> mx:Script </mx:Script> mx:VBox <mx:Label text="选择自付比例"/> mx:HBox <mx:Label text="项目编码:"/> <mx:TextInput id="txtBm" editable="false"/> </mx:HBox> mx:HBox <mx:Label text="项目名称:"/> <mx:TextInput id="txtMc" editable="false"/> </mx:HBox> mx:HBox <mx:Label text="自付比例:"/> <mx:ComboBox id="cmb_zfbl"/> </mx:HBox> <mx:Button label="确定" click="btnOk_clickHandler(event);"/> </mx:VBox> </mx:TitleWindow>
private function mzzfbl():void { var xzbz:String = "xzbz:C#m(医疗)"; var rqlb:String = "rqlb:AB#m(全部)"; var zfblRes:String = "1.0#vxzbz:C#m(医疗),rqlb:AB#m(全部),超适应症自付比例为1/0.0#vxzbz:C#m(医疗),rqlb:AB#m(全部),/0.15#vxzbz:C#m(医疗),rqlb:AB#m(全部),/0.3#vxzbz:C#m(医疗),rqlb:AB#m(全部), /"; var zfbls:Array = zfblRes.split("/"); var zfblData:Object = {}; var count:int = 0; var zfblEach:Number = 0;
for (var k:int = 0; k < zfbls.length - 1; k++) {
if (zfbls[k].indexOf(xzbz) != -1 && (zfbls[k].indexOf(rqlb) != -1 || zfbls[k].indexOf(rqlbZGJM) != -1)) {
count++;
zfblData[count.toString()] = zfbls[k];
zfblEach = Number(zfbls[k].split("#v")[0]);
}
}
if (count == 1) {
zfbl = zfblEach;
} else if (count >= 2) {
var zfblSelect:frmZfblSelect = new frmZfblSelect();
zfblSelect.Bm = yyxmbm;
zfblSelect.Mc = yyxmmc;
zfblSelect.zfblData = zfblData;
zfblSelect.addEventListener(Event.CLOSE, zfblSelectCloseHandler);
PopUpManager.addPopUp(zfblSelect, this, true);
PopUpManager.centerPopUp(zfblSelect);
} else {
var resultString:String = zfbls[0];
var zfblStr:String = resultString.split("#v")[0];
zfbl = Number(zfblStr);
}
}
private function zfblSelectCloseHandler(e:Event):void { var zfblSelect:frmZfblSelect = frmZfblSelect(e.currentTarget); selectedZfbl = zfblSelect.selectedZfbl; }
protected function btnOk_clickHandler(event:MouseEvent):void { selectedZfbl = cmb_zfbl.selectedItem.label; dispatchEvent(new Event(Event.CLOSE)); }
原文地址: https://www.cveoy.top/t/topic/oZzk 著作权归作者所有。请勿转载和采集!