【发布时间】:2011-07-29 02:56:38
【问题描述】:
我正在开发 Flex 中的动态问卷模板。更详细的描述在我之前的帖子HERE
为了创建问卷,我使用嵌套的重复器 - 一个用于问题,一个用于答案(因为它们的数量可能会有所不同)。
<mx:Repeater id="r" dataProvider="{questions}">
<mx:Label text="{r.currentItem.question}" width="200"/>
<mx:Repeater id="r2" dataProvider="{r.currentItem.answers}">
<mx:RadioButton label="{r2.currentItem.text}" width="200"
click="answerHandler(event, event.currentTarget.getRepeaterItem())"/>
</mx:Repeater>
</mx:Repeater>
要了解我的数据提供者,最好查看我之前的帖子的答案 - 比我在这里解释要容易。
这里的问题是...如您所见,我为每个单选按钮创建了单击事件处理程序,我的计划是每次用户正确选择时执行 playerScore++(这可以通过检查布尔属性“正确”来实现发送的RepeaterItem)。
但是,我现在看到即使该按钮已被选中,我仍然可以多次单击它,即使它没有改变视图中的任何内容,它每次都会增加分数。我还必须处理用户改变主意的情况(我可以给每个好的答案 + 分和 - 错误的分数,但这意味着,如果用户选择了更多错误的答案,我的分数将是负面的,我不想要它)。
因此,只有一个提交按钮并检查我所有按钮的状态以及仅在用户单击“提交”后它们是否正确才会更容易。有可能吗?
【问题讨论】:
标签: apache-flex radio-button state