for循环检查是否选中了一个框

时间:2011-01-11 22:51:54

标签: actionscript

我有以下内容:

for(var i:Number = 1; i <= 10; i++) {
if ( eval("chk"+i).selected == false ) {
    btnSubmit.enabled = false;
    } else {
    btnSubmit.enabled = true;
   }
}
我有10个盒子。如果检查了其中任何一个,那么我启用表单提交按钮。出于某种原因,上述代码仅适用于第10项。任何想法为什么?

2 个答案:

答案 0 :(得分:2)

您依次循环浏览每个复选框,如果选中该复选框则设置启用提交按钮,如果不是则禁用。

这意味着最后一个复选框是唯一可以计数的复选框,因为每个复选框都会撤消前一个复选框。

请改为尝试:

btnSubmit.enabled = false;
for(var i:Number = 1; i <= 10; i++) {
   if ( eval("chk"+i).selected == true ) {
      btnSubmit.enabled = true;
   }
}

现在您将按钮设置为禁用,然后仅在勾选任何复选框时将其设置为启用。

答案 1 :(得分:0)

在btnSubmit.enabled = true之后添加break语句以立即停止循环。在这种情况下小事......但是......