Как динамически изменить значение комбинированного списка на основе другого комбинированного списка во флэш-памяти AS3 - PullRequest
0 голосов
/ 01 июня 2010

У меня есть один 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

Мой текущий код

for each(var element:XML in testXML.elements()) {
                    comboFar.addItem({label:element.name(),label:element.name()});

                }

1 Ответ

0 голосов
/ 01 июня 2010

Вы должны назначить обработчик событий для 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
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...