Javascript 在“中迭代”;至于;循环和;如果;使用JSP的语句

Javascript 在“中迭代”;至于;循环和;如果;使用JSP的语句,javascript,mysql,jsp,checkbox,Javascript,Mysql,Jsp,Checkbox,我对使用JSP进行编码和WEB开发相当陌生。 我正在尝试创建仅从复选框生成的动态表单,其基本思想是当特定用户选中特定复选框时,此特定复选框的信息连同用户id和一些与用户信息相关的索引一起发送到数据库,当此用户或其他用户加载此页面时,将从数据库中检索信息,并选中预选中的复选框并禁用它们,并分配每个已选中的复选框根据我为相关用户设置的索引编号,选中其相关颜色 问题是,当我运行代码时,它从DB中检索数据并选中并禁用复选框,但是颜色只设置一次,这取决于if语句中的第一个“true”条件,因此,例如,如果

我对使用JSP进行编码和WEB开发相当陌生。 我正在尝试创建仅从复选框生成的动态表单,其基本思想是当特定用户选中特定复选框时,此特定复选框的信息连同用户id和一些与用户信息相关的索引一起发送到数据库,当此用户或其他用户加载此页面时,将从数据库中检索信息,并选中预选中的复选框并禁用它们,并分配每个已选中的复选框根据我为相关用户设置的索引编号,选中其相关颜色

问题是,当我运行代码时,它从DB中检索数据并选中并禁用复选框,但是颜色只设置一次,这取决于if语句中的第一个“true”条件,因此,例如,如果它查询的第一行(实际上是mysql中的最后一行)具有索引“2”,它将使用“if”中设置的相关颜色设置所有复选框语句即使代码也会不断迭代并输入其他带有其他颜色设置的“if”语句

对不起,说来话长,希望我说得够清楚,有人能帮助我。 我别无选择了

以下是相关的代码段:

表格:

<form method="post" action="confirm.jsp" id="form" name="form">
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value="" />
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value="" />
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value="" />
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value=""/>
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value=""/>
</form>

<input type="button"  id="sendNewSms" name="sendNewSms" value"Submit"    onclick="submitForms()"  >

<script>
submitForms = function(){
document.getElementById("form").submit();}
</script>
 input:checked {background-color: <%= boxColor %>;}

submitForms=函数(){
document.getElementById(“表单”).submit();}
JS函数与JAVA:

<script type="text/javascript">   
function keepBoxChecked(){

        <%for (int i=0; i< 10; i++){

           if(userIndex[i].equals("1")){ 
                boxColor = "red"; %>
                document.form.ckb[<%=boxChecked[i]%>].checked = true;
                document.form.ckb[<%=boxChecked[i]%>].disabled = true; <%} 

                else if(userIndex[i].equals("2")){ 
                 boxColor = "blue"; %>
                  document.form.ckb[<%=boxChecked[i]%>].checked = true;
                  document.form.ckb[<%=boxChecked[i]%>].disabled= true;<%} 

                else if(userIndex[i].equals("3")){ 
                 boxColor = "green"; %>
                  document.form.ckb[<%=boxChecked[i]%>].checked = true;
                  document.form.ckb[<%=boxChecked[i]%>].disabled= true;<%} 
            }%>  
}
</script>

函数keepBoxChecked(){
document.form.ckb[].checked=true;
document.form.ckb[].disabled=true;
document.form.ckb[].checked=true;
document.form.ckb[].disabled=true;
document.form.ckb[].checked=true;
document.form.ckb[].disabled=true;
}
CSS:

<form method="post" action="confirm.jsp" id="form" name="form">
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value="" />
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value="" />
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value="" />
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value=""/>
<input type="checkbox" id="ckb" name="chair"  value=""/>
<input type="checkbox" id="ckb" name="chair" value=""/>
</form>

<input type="button"  id="sendNewSms" name="sendNewSms" value"Submit"    onclick="submitForms()"  >

<script>
submitForms = function(){
document.getElementById("form").submit();}
</script>
 input:checked {background-color: <%= boxColor %>;}
输入:选中{背景色:;}

你能用伪代码解释一下你真正想做的是什么吗?我不确定我能在伪代码上做这件事,但让我再试一次,我会更一般一些。我有两个JAVA数组1-userIndex[10]={2,3,3,2,1,1,2,2,3,1}。2-boxChecked[10]={0,0,0,0,0,0,0,0,0}。js function=while(i<10){if(userIndex[i]=“1”){boxChecked[i]=1;boxcolor=“red”)else if(userIndex[i]=“2”){boxChecked[i]=1;boxcolor=“blue”)else if(userIndex[i]=“3”){boxChecked[i]=1;boxcolor=“green”)}因为userIndex[1]=“2”会使所有10个框都是蓝色的,就像它进入第一个“if”一样语句并相应地设置boxcolor,即使在输入其他“else if”语句后,它也不会相应地更改boxcolor,但只将boxChecked[I]=1。我希望我更清楚,如果不是这样的话,谢谢。