在很多时候我们要实现一个输入,显示提示并且可以从提示选择的功能,这是一种基于ComboBox 的变相实现,从服务器上动态获取
<?xml version="1.0" encoding="utf-8"?> <mx:FormItem xmlns:mx="http://www.adobe.com/2006/mxml" label="" required="true" width="305" fontWeight="bold" height="28" horizontalAlign="right" textAlign="center" fontStyle="normal"> <mx:Script> <!--[CDATA[ import mx.managers.PopUpManager; import mx.controls.Text; import mx.rpc.events.ResultEvent; import Scripts.ToolHelper; //public var _win:PortWindow=new PortWindow(); [Bindable] private var PortName:Text=new Text(); private function DropPorts_KeyDown(event:KeyboardEvent):void { if(this.DropPorts.editable==false)return; this.DropPorts.close(); if(event.keyCode==Keyboard.ENTER) { this.DropPorts.prompt=this.DropPorts.text; if(this.DropPorts.text.length<2)return; this.HttpPort.cancel(); this.HttpPort.url="your url here"; this.HttpPort.addEventListener(ResultEvent.RESULT,HttpPort_result) this.HttpPort.send(); } else { } } private function HttpPort_result(event:ResultEvent):void { this.DropPorts.open(); } ]]--> </mx:Script> <mx:HTTPService id="HttpPort" method="GET" /> <mx:ComboBox id="DropPorts" keyDown="DropPorts_KeyDown(event);" labelField="Name" dataProvider="{HttpPort.lastResult.CityOcean.Port}" width="170" editable="true" textAlign="left"></mx:ComboBox> <mx:Text id="txtPortID" visible="false" height="0" width="0" text="{DropPorts.selectedItem.ID}" /> </mx:FormItem>
本文介绍了一种使用ComboBox组件实现输入提示及动态获取服务器数据的方法。通过编写特定的脚本,当用户输入达到一定长度时,将触发服务器请求,返回的数据用于填充ComboBox下拉选项。
2023

被折叠的 条评论
为什么被折叠?



