处理由c:forEach 生成的复选框(checkbox)问题

来源:互联网 发布:张予曦淘宝店铺 编辑:程序博客网 时间:2024/05/24 04:57

           在你的jsp代码中如果由用c:forEach生成的复选框序列,每行记录的第一列是checkBox,当复选框被选中是删除这行数据。由于记录是动态生成的,所以复选框的数量由以下可能

1。 没有复选框。

2。只有一个复选框。

3。 由多个复选框。

在jsp代码中如果复选框的的名字是按如下方式命名的:
<html:multibox property="items">
    <c:out value="${your_value}"/>
</html:multibox>

对以上三种情况:在js代码里该这么写

 function validateCheckbox(checkName)   // 注意传入的是对象
 {
     var flag = false;//初始化 标记
     var i = 0;
 
    if( checkName == null)   //对应第一种情况
    {
         setMessageContent("No Data to be deleted!");
         return false;
    }
    if( checkName.length == null )   //对应第二种情况
    {
     if(checkName.checked == true)
    {
    flag = true;
    }
    }
    else        //对应第三种情况
    {
           for(; i < checkName.length; i++)
        {
     if( checkName[i].checked == true)
     {
      flag = true;
      break;
     }
           }
    }
    if (!flag)
    {
         setMessageContent("At least one checkbox must be selected!");
    }
    return flag;
 }

 

 

原创粉丝点击