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