尝试从JSTL循环读取复选框值

时间:2018-09-11 05:27:48

标签: javascript jquery html

我得到了两个JSTL循环,一个循环显示MainMenu,一个循环显示一个子菜单。现在,我尝试读取在类中检查的复选框值。由于循环中存在相同的类,因此我获得了所有复选框值。

我的HTML代码如下:

 <div class="card-box table-responsive">
    <c:forEach var="mBean" items="${sessionScope.mainMenuList}" varStatus="status">
        <div class="form-group col-md-8" >
        <span class="accordion">&nbsp;&nbsp;<input type="checkbox" class="checkbox" name="sport" value="${mBean.menu_id}">${mBean.menu_name}</span>
        <div class="panel sub-menu">
        <c:forEach var="count" items="${sessionScope.subMenuList.get(status.index)}">
        <div class="row">
        <label id="childrens"><input type="checkbox" name="sport" value="${count.menu_id}">${count.menu_name}</label>
        </div>
        </c:forEach>
        </div>
       </div>
      </c:forEach>
 </div>

jQuery:

 $(".checkbox").click(function() {            
            if ($(this).prop("checked")) {
                $("#childrens input[type='checkbox']").each(function() {
                    $(this).attr("checked", "checked");

                });
            }else{
                $("#childrens input[type='checkbox']").each(function() {
                    $(this).removeAttr("checked");
                });        
            }
      [![My menu looks like this][1]][1]}); 

1 个答案:

答案 0 :(得分:0)

ForEach将创建ID为“ childrens”的多个复选框。由于ID应该是唯一的。使用类代替id。