【发布时间】:2016-04-26 21:55:01
【问题描述】:
我有 10 个复选框。当用户选择第一个复选框时,会出现一个标签“a)”。在它旁边。在选择第二个复选框时,该标签变为“b)”。如果与新选择相比,它在复选框的排序中被放置在较低的位置,并且新复选框将获得标签“a)”。反之亦然。
我找到了一种使用二进制方法来执行此操作的方法,我检查是否选择了第一个、第二个,然后第三个是“c)”。如果不是,那么“b)”。或“a)”。但是这个逻辑在没有大的时候就变得太大而且效率低下。的复选框进来。
谁能帮我找到更好的逻辑?
这是一个示例代码
var a= optionA.header.CheckBox4.rawValue;
var b= optionB.header.CheckBox4.rawValue;
var c= optionC.header.CheckBox4.rawValue;
var d= optionD.header.CheckBox4.rawValue;
if(this.rawValue == 1)
{
if(a==0 && b==0 && c==0 && d==0)
optionE.number = "c)";
else if(a==0 && b==0 && c==0 && d==1)
optionE.number = "d)";
else if(a==0 && b==0 && c==1 && d==0)
optionE.number = "d)";
else if(a==0 && b==1 && c==0 && d==0)
optionE.number = "d)";
else if(a==1 && b==0 && c==0 && d==0)
optionE.number = "d)";
else if(a==1 && b==1 && c==0 && d==0)
optionE.number = "e)";
else if(a==1 && b==0 && c==1 && d==0)
optionE.number = "e)";
else if(a==1 && b==0 && c==0 && d==1)
optionE.number = "e)";
else if(a==0 && b==1 && c==0 && d==1)
optionE.number = "e)";
else if(a==0 && b==1 && c==1 && d==0)
optionE.number = "e)";
else if(a==0 && b==0 && c==1 && d==1)
optionE.number = "e)";
else if(a==1 && b==1 && c==1 && d==0)
optionE.number = "f)";
else if(a==1 && b==0 && c==1 && d==1)
optionE.number = "f)";
else if(a==1 && b==1 && c==0 && d==1)
optionE.number = "f)";
else if(a==0 && b==1 && c==1 && d==1)
optionE.number = "f)";
else if(a==1 && b==1 && c==1 && d==1)
optionE.number = "g)";
}
else
{
optionE.number = "";
}
【问题讨论】:
-
我们如何执行你的代码?
-
这是 Adobe Livecycle 中使用的 javascript。
-
你能发布你的代码吗?
标签: javascript jquery