2011-05-10 138 views
1

我已经创建了一个小问题答案应用程序。一切工作正常,但现在我试图通过从数据库加载和上传不同的测验来使测验更具动态性。添加变量作为id名称 - flex

我似乎几乎一切工作正常,但我遇到了一个问题转换我的答案检查功能从静态数据到动态数据。

这是我的一些代码。

if (b1.selected != true) { 
     q1a.styleName = "incorrect"; 
     q1a.text = incorrect + b1.value; 
     score = score -1; 
    } 

像这样说,这似乎工作正常静态内容只是检查单选按钮被选中或没有。

我需要替换 - b1.selected与我的数据库变量在这种情况下它的pertestq1a。

pertestq1a当前等于b1。

如何将我的变量添加到此if语句以识别为元素ID?

+0

显示的值加载程序代码从数据库 – 2011-05-10 17:15:18

+0

如何为B1产生的?也许你应该使用DataGroup来创建所有问题。 – 2011-05-10 17:18:32

回答

2

尝试使用以下内容:

this[pertestq1a].selected 
+1

您忘记了“=> this [”pertestq1a“]。选中 – 2011-05-10 17:17:39

+1

@J_A_X编号'pertestq1a'是一个变量,其值可以是'”b1“'这是应用程序中的有效标识号 – Constantiner 2011-05-10 17:20:16

+0

哦,gotcha,没有得到那部分。 – 2011-05-10 17:57:56

0

哼我不写AS3代码了,但据我记得,如果我完全理解你们的数据库结构(我猜你存储的名称为刺痛)这可以帮助你:

让:pertestq1a =“b1”你可以使用下面的方式来检索相应的显示对象。

getChildByName(pertestq1a) 

所以,你可以使用“选择”的方法这样我猜:

getChildByName(pertestq1a).selected 

事实上,你需要将对象(或多个)上使用它指定一个可用的“实例名称”。

文档&例子:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html#getChildByName%28%29