Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 正在评估ComboBox.SelectedIndex在AS3中是否大于-1(无选择)_Actionscript 3_Flash Cs6 - Fatal编程技术网

Actionscript 3 正在评估ComboBox.SelectedIndex在AS3中是否大于-1(无选择)

Actionscript 3 正在评估ComboBox.SelectedIndex在AS3中是否大于-1(无选择),actionscript-3,flash-cs6,Actionscript 3,Flash Cs6,我想评估用户是否在组合框中选择了任何内容,以便我可以在该组合框下方创建一个新的组合框。我在别处读到,SelectedIndex值-1相当于用户未触及的组合框,因此我基于此假设 这是我的密码: function displayCarbs(event:MouseEvent):void { _ingredientWizard.visible = false; _categoryCarbs = new CategoryCarbs();

我想评估用户是否在组合框中选择了任何内容,以便我可以在该组合框下方创建一个新的组合框。我在别处读到,
SelectedIndex
-1
相当于用户未触及的组合框,因此我基于此假设

这是我的密码:

function displayCarbs(event:MouseEvent):void {
            _ingredientWizard.visible = false;
            _categoryCarbs = new CategoryCarbs();
            addChild(_categoryCarbs);
            'positioning'
            _categoryCarbs.x = stage.stageWidth / 2 - _categoryCarbs.width / 2;
            _categoryCarbs.y = stage.stageHeight / 2 - _categoryCarbs.height / 2;
            _categoryCarbs.btn_goback.addEventListener(MouseEvent.CLICK, addNewIngredient)
            addChild(myComboBox);
            myComboBox.prompt="Choose your carbs";
            myComboBox.x= _ComboBoxXPosition;
            myComboBox.y = _ComboBoxYPosition;
            myComboBox.width = _ComboBoxWidth;
            myComboBox.height = _ComboBoxHeight;
            myComboBox.dataProvider = new DataProvider(myItems);
               trace("test1");
            if (myComboBox.selectedIndex > -1) {
                trace("test2");
                addChild(myComboBox);
                myComboBox.y = _ComboBoxYPosition + _SubsequentComboBoxIncrement;
                myComboBox.x = _ComboBoxXPosition;
                myComboBox.width = _ComboBoxWidth;
                myComboBox.height = _ComboBoxHeight;

            }
        }

不幸的是,我的第二个跟踪没有到达输出窗口,我想不出我的
if
语句有什么问题,或者我可能只是有点笨

您正在测试myComboBox。选择索引小于-1

相反,应测试以下任何一项:

  • selectedIndex==-1
  • selectedIndex<0

  • selectedIndex
    “定位”
    应该是注释吗
    //在您的示例中,在数据提供程序、状态和添加到显示列表方面,定位
    似乎像是
    myComboBox
    生命周期中错综复杂的一部分。@jasonturges事情应该以什么顺序出现?不幸的是,即使按照您的建议替换了
    myComboBox.selectedIndex>-1)
    (我最初的逻辑测试),它也没有达到预期的效果。当我使用
    ==-1
    时,
    组合框
    移动到它的“第二位置”(即
    y
    位置是“\u ComboBoxYPosition+\u subsequentcomboxincrement”。)这可能与上面提到的卷积有关吗?这里可能有多个问题。在
    displayCarbs()
    函数中添加
    myComboBox
    ,设置数据提供程序,然后测试所选索引,在其中再次添加组合框。确保实例与您通过Flash Pro的artboard和code编写的内容一致。是否有一种更简单的方法可以根据其前身的
    selectedIndex
    是否满足我最初问题中的条件,以编程方式复制
    myComboBox
    的次数?(例如:假设舞台上允许的最大组合框数为6)