Flex 3:使用textarea的ID定位XML数据

时间:2012-03-06 16:48:57

标签: xml flex adobe mxml

您好,感谢您的时间。请考虑以下按比例缩小的更大应用程序示例:

我的文字区域包含id属性和点击事件:

<mx:TextArea click="launchMyPopUp(event);" id="box1" text="blahblahblah"/>
<mx:TextArea click="launchMyPopUp(event);" id="box2" text="blahblahblah"/>
<mx:TextArea click="launchMyPopUp(event);" id="box3" text="blahblahblah"/>

这些触发以下功能:

private function launchMyPopUp(e:MouseEvent):void{
      var myId:String = e.currentTarget.id;
      var win:Window = new Window();
      win.title = myId;
      win.sourceId = myId;
      PopUpManager.addPopUp(win,this,true);
      PopUpManager.centerPopUp(win);
 }

这很有效。将出现一个弹出窗口,其中public var'ourceId'被注入标签标签。所以我知道我正在弹出窗口中获取所选项目(box1,box2或box3)的id属性值。

输入示例XML文件:

<gallery>
<car id="box1">
    <pic>camaro1.jpg</pic>
    <title>Camaro 1</title>
    <date>1997</date>
</car>
<car id="box2">
    <item>box2</item>
    <pic>camaro2.jpg</pic>
    <title>Camaro 2</title>
    <date>1998</date>
</car>
<car id="box3">
    <item>box3</item>
    <pic>camaro3.jpg</pic>
    <title>Camaro 3</title>
    <date>1999</date>
</car>

我希望看到的是,当单击文本区域时,它们各自的id值被传递给弹出窗口函数,然后用于从xml文件中获取相关的子数据并将其显示在弹出窗口中(是TitleWindow组件)。

我已经看到弹出窗口中标签标签中传递的id:

<mx:Label text="{sourceId}"/>

我不确定如何使用id值与xml文件对话。我尝试了无数的选择,并且悲惨地失败了。任何帮助将不胜感激。干杯!

1 个答案:

答案 0 :(得分:0)

如何将XML源添加到win.data属性,然后当您拥有ID时,可以循环通过窗口内的this.data.car并查找car.id == sourceId

当你找到了,剩下的就可以使用了。