最近做项目,写了个flex的工具类,方便以后用

主要作用就是获取一个容器里表单输入的值,返回一个vo,以及当一个容器中有很多checkbox时,方便获取选中项的值
package com.hjdl.tools
{
import mx.containers.FormItem;
import mx.controls.CheckBox;
import mx.controls.ComboBox;
import mx.controls.TextArea;
import mx.controls.TextInput;
import mx.core.Container;
import mx.controls.Alert;
public class FormTool
{
//无formitem的表单,仅支持两存容器嵌套
public static function getFormVo(formPanel:Container,vobj:Object):Object{
var fi_arr:Array=formPanel.getChildren();
for(var j:int=0;j<fi_arr.length;j++){
//如果里面还有层窗口
if(fi_arr[j] is Container)
{
var con_arr:Array=Container(fi_arr[j]).getChildren();
for(var k:int=0;k<con_arr.length;k++)
{
if(con_arr[k] is TextInput){
vobj[TextInput(con_arr[k]).id]=TextInput(con_arr[k]).text;
}
if(con_arr[k] is TextArea){
vobj[TextArea(con_arr[k]).id]=TextArea(con_arr[k]).text;
}
if(con_arr[k] is ComboBox){
vobj[ComboBox(con_arr[k]).id]=ComboBox(con_arr[k]).selectedItem.data;
}
}
}
if(fi_arr[j] is TextInput){
vobj[TextInput(fi_arr[j]).id]=TextInput(fi_arr[j]).text;
}
if(fi_arr[j] is TextArea){
vobj[TextArea(fi_arr[j]).id]=TextArea(fi_arr[j]).text;
}
if(fi_arr[j] is ComboBox){
vobj[ComboBox(fi_arr[j]).id]=ComboBox(fi_arr[j]).selectedItem.data;
}
}

return vobj;
}
//有formitem的表单
public static function getFormVoByFormItem(formPanel:Container,vobj:Object):Object{
var item_arr:Array=formPanel.getChildren();
for(var i:int=0;i<item_arr.length;i++){
if(item_arr[i] is FormItem){
var fi_arr:Array=FormItem(item_arr[i]).getChildren();
for(var j:int=0;j<fi_arr.length;j++){
if(fi_arr[j] is TextInput){
vobj[TextInput(fi_arr[j]).id]=TextInput(fi_arr[j]).text;
}
if(fi_arr[j] is TextArea){
vobj[TextArea(fi_arr[j]).id]=TextArea(fi_arr[j]).text;
}
if(fi_arr[j] is ComboBox){
vobj[ComboBox(fi_arr[j]).id]=ComboBox(fi_arr[j]).selectedItem.data;
}
}

}
}
return vobj;
}
//根据提供的数组,将一个容器内的符合条件的checkbox选中,第一个参数是容器ID,第二个是数组
public static function selectCheckBox(con:Container,data:Array):void
{
var item_arr:Array=con.getChildren();
for(var i:int=0;i<item_arr.length;i++){
if(item_arr[i] is CheckBox)
{
for(var j:int=0;j<data.length;j++)
{
CheckBox(item_arr[i]).selected=false;//先把原来选中的清除
if(data[j]==CheckBox(item_arr[i]).data)
{
CheckBox(item_arr[i]).selected=true;
break;
}
}
}

}
}
//获取所有选中的CheckBox值
public static function getSelectCheckBoxData(con:Container):String{
var cbData:String="";
var conItem:Array=con.getChildren();
for(var i:int=0;i<conItem.length;i++)
{
if(conItem[i] is CheckBox)
{
if(CheckBox(conItem[i]).selected==true)
{
//cbData.push(CheckBox(conItem[i]).data);
cbData=CheckBox(conItem[i]).data+":"+cbData;
}
}
}
return cbData;
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值