我有一个xml文件,如下所示
<tree>
<branch1><node1/><node2/><node3/><branch1>
<brach2><node1/><node2/><node3/><branch1>
<branch3><node1/><node2/><node3/><branch1>
<branch4><node1/><node2/><node3/><branch1>
</tree>
我有一个填充了
的组合框branch1
branch2
branch3
现在我希望在选择分支1时,combobox2应自动加载
node1
node2
node3
我的CUrrent代码是
for each(var element:XML in testXML.elements()) {
comboFar.addItem({label:element.name(),label:element.name()});
}
答案 0 :(得分:0)
您应该为combobox1分配一个事件处理程序,如:
var myXML:XML= <tree>
<branch name='1'><node name='1'/><node name='2'/><node name='3'/></branch>
<branch name='2' ><node name='1'/><node name='2'/><node name='3'/></branch>
<branch name='3'><node name='1'/><node name='2'/><node name='3'/></branch>
</tree> // or something like this
combobox1.addEventListener(Event.CHANGE,changeListener);
function changeListener(e:Event):void
{
populateCombobox2(myXML.branch.(@name == e.currentTarget.selectedItem.@name));
}
function populateCombobox2(combo2Data:XML):void
{
combobox2.dataSource = combo2Data;
combobox2.displayName = "@name"; // I don't remember if this is correct, and I can't
//check it now, but this is the logic.... if its not
//correct tell me, and when I get home I can tell you
//the correct way
}