【问题标题】:How to sum radio button values using flash builder如何使用 Flash Builder 对单选按钮值求和
【发布时间】:2012-06-11 16:56:41
【问题描述】:

假设我有 6 个广播组,例如:

<s:RadioButtonGroup id="radiogroup1"/>
<s:RadioButtonGroup id="radiogroup2"/>
<s:RadioButtonGroup id="radiogroup3"/>
<s:RadioButtonGroup id="radiogroup4"/>
<s:RadioButtonGroup id="radiogroup5"/>
<s:RadioButtonGroup id="radiogroup6"/>

如何使用 flash builder 对单选按钮值求和,并设置一些条件,例如如果分数 = 10(中等分数)?

【问题讨论】:

    标签: ios apache-flex flash-builder


    【解决方案1】:
            private function sumAll():void
            {
                var totalValue:Number;
    
    
    
    
                for each(var rbg:RadioButtonGroup in  [radiogroup1, radiogroup2, radiogroup3,radiogroup4, radiogroup5, radiogroup6])
                {
                    totalValue+= rbg.selectedValue;  // if these are strings be sure to parseInt(rbg.selectedValue)
                }
    
    
                firstLabel.visible = firstLabel.includeInLayout = secondLabel.visible = secondLabel.includeInLayout = thirdLabel.visible = thirdLabel.includeInLayout = false;
    
                if(totalValue>10)
                {
                    //Alert.show("You had more than 10");
                    firstLabel.visible = firstLabel.includeInLayout = true;
                }
                else if(totalValue<=10 && totalValue>5)
                {
                    //Alert.show("You passed");
                    secondLabel.visible = secondLabel.includeInLayout = true;
                }
                else if(totalValue<=5)
                {
                    //Alert.show("You failed");
                    thirdLabel.visible = thirdLabel.includeInLayout = true;
                }
            }
        ]]>
    </mx:Script>
    <s:RadioButtonGroup id="radiogroup1"/>
    <s:RadioButtonGroup id="radiogroup2"/>
    <s:RadioButtonGroup id="radiogroup3"/>
    <s:RadioButtonGroup id="radiogroup4"/>
    <s:RadioButtonGroup id="radiogroup5"/>
    <s:RadioButtonGroup id="radiogroup6"/>
    <s:Label text="Winner winner chicken dinner" id="firstLabel" visible="false" includeInLayout="false"/>
    <s:Label text="You passed" id="secondLabel" visible="false" includeInLayout="false"/>
    <s:Label text="You failed" id="thirdLabel" visible="false" includeInLayout="false"/>
    

    【讨论】:

    • 非常感谢!但它向我显示了关于 Alert 的错误消息,它的未定义属性
    • 我可以制作 3 个根据分数加载的标签吗?!!
    • 是的,显示或隐藏标签也应该可以正常工作,我在 Flex 3 项目中对那个进行了伪编码,我相信你应该仍然有相同的 Alert 方法可用,确保你 ctrl+单词 Alert 后的空格以获取自动导入...我将很快用标签版本进行修改。
    • 也许 import mx.component.Alert 不适用于 flash builder 移动项目!我也很惊讶!我正在为 IOS 设备测试这个
    • 是的,我实际上隐约记得在某些 Flex 4 应用程序中使用 Alert 的一些问题,但是就像您在这里一样,我一直只是使用其他 UI 控件来解决它,我没有任何真正重要的 Flex 4 应用程序(移动或非移动)只是我玩弄过的东西,以便更熟悉,因为我一直在坚持使用 Flex 3 的长期项目。
    【解决方案2】:

    您可以为每个RadioButtonGroup 添加一个CHANGE 事件,以便在用户更改选择时收到通知。在事件处理程序中,汇总单选按钮组中的值并采取相应措施。

    MXML:

    <s:RadioButtonGroup id="radiogroup1" change="onRadioButtonChange"/>
    <s:RadioButtonGroup id="radiogroup2" change="onRadioButtonChange"/>
    

    然后在一个脚本块中:

    private function onRadioButtonChange(event:Event):void
    {
        var score:Number = 0;
        score += radioGroup1.selectedValue
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多