Javascript 使用jsp仅显示表中一行中的四个元素

Javascript 使用jsp仅显示表中一行中的四个元素,javascript,html,css,jsp,Javascript,Html,Css,Jsp,我正在动态生成一行中的复选框,但我希望在一行中仅显示4个复选框,然后在下一行中显示。我尝试了这段代码,但没有达到我的目标。请帮帮我 <c:forEach var="group" items="${actionBean.roles}" varStatus="loop"> <table> <tr> <td><s:checkbox name="category1" id="category${l

我正在动态生成一行中的复选框,但我希望在一行中仅显示4个复选框,然后在下一行中显示。我尝试了这段代码,但没有达到我的目标。请帮帮我

<c:forEach var="group" items="${actionBean.roles}" varStatus="loop">
        <table>
         <tr>
          <td><s:checkbox name="category1" id="category${loop.index}" class="category"
            onclick="OnChangeCheckbox(this,id)" checked="false"></s:checkbox> <b> <s:label for="${group}" />
          </b></td>
         </tr>
         <tr>
          <c:forEach var="item" items="${actionBean.activityroles}">
            <c:if test="${not empty actionBean.activityroles && item.label == group }">
              <td width="25%"><s:checkbox name="category11" value="${item.id}" class="category${loop.index}"></s:checkbox> <s:label
                for="${item.name}" title="${item.description}" /></td>
           </c:if>
          </c:forEach>
         </tr>
        </table>
       </c:forEach>

在这段代码中,我有一个复选框作为标题,它的子复选框位于下一行。所有这些都是动态生成的

<script>
function OnChangeCheckbox(checkbox, checkid) {
        if (checkbox.checked) {
          $('.' + checkid).attr('checked', true);
        } else {
          $('.' + checkid).attr('checked', false);
        }
      }
</script>

函数OnChangeCheckbox(复选框,检查ID){
如果(复选框。选中){
$('..+checkid).attr('选中',true);
}否则{
$('..+checkid).attr('checked',false);
}
}

您可以使用一个变量来检查它是否为第4项,并将其断开。我没有测试下面的代码(它可能有一些语法错误),但应该是围绕这一点,希望它能有所帮助:

<c:forEach var="group" items="${actionBean.roles}" varStatus="loop">
    <table>
        <tr>
            <td colspan="4"><s:checkbox name="category1" id="category${loop.index}" class="category"
                onclick="OnChangeCheckbox(this,id)" checked="false"></s:checkbox> <b> <s:label for="${group}" />
                </b>
            </td>
        </tr>
        <c:set var="index" value="0"/>
        <c:forEach var="item" items="${actionBean.activityroles}" varStatus="s">
            <c:if test="${index % 4 eq 0}">
                <tr>
            </c:if>
            <c:if test="${not empty actionBean.activityroles && item.label == group }">
                <td width="25%">
                    <s:checkbox name="category11" value="${item.id}" class="category${loop.index}"></s:checkbox>
                    <s:label for="${item.name}" title="${item.description}" />
                </td>
                <c:set var="index">${index + 1}</c:set>
                <c:if test="${s.last && index % 4 neq 0}">
                    <td colspan="${4 - (index % 4)}">&nbsp;</td>
                </c:if>
            </c:if>
            <c:if test="${index % 4 eq 3 || s.last}">
                </tr>
            </c:if>
        </c:forEach>
    </table>
</c:forEach>

${index+1}

能否显示
OnChangeCheckbox()
的代码?这个函数在做什么?只是一个改变