使用Javascript在jsp中展开/折叠部分代码

使用Javascript在jsp中展开/折叠部分代码,javascript,java,jsp,foreach,expand,Javascript,Java,Jsp,Foreach,Expand,我必须只在点击+(展开)时显示一个表,点击后,+应该被更改为-我应该折叠该表一次。我在jsp页面中有以下代码: <c:forEach var="type" items="${clientFilterList}" varStatus="status"> <tr class="${status.index % 2 == 0 ? 'even' : 'odd'}"> <td width = "5" valign="middle" align = "left"&g

我必须只在点击+(展开)时显示一个表,点击后,+应该被更改为-我应该折叠该表一次。我在jsp页面中有以下代码:

<c:forEach var="type" items="${clientFilterList}" varStatus="status">

<tr  class="${status.index % 2 == 0 ? 'even' : 'odd'}">
    <td width = "5" valign="middle" align = "left">
    <img id=MYFEE<c:out value = "${status.index}"/> class="SectionImage" name = "IMGMYFEE<c:out value = "${status.index}"/>"
             align="right" src="<%=request.getContextPath()%>/images/explorerOpen.gif"  
             onclick="collapseSection('MYFEE<c:out value = "${status.index}"/>', 'MYFEE',event);"/></td>

    <td>${type.key}</td>
    <td>${type.value}</td>

   <c:set var="type" value=${type}></c:set>
   <c:set var = "ifeeCount" value = "${status.index}" scope = "request"/>
   <c:set var = "typeCollapse" value = "MYFEE" scope = "request"/>
   <c:set var = "editableVal" value = "editable${ifeeCount}" scope = "request"/>

/images/explorerOpen.gif“
onclick=“collapseSection('MYFEE','MYFEE',事件);"/>
${type.key}
${type.value}

我的javascript方法如下:

function collapseSection(collapseArea, areaType,event){
var collapseImage = '<%=request.getContextPath()%>/images/explorerClose.gif';
var expandImage = '<%=request.getContextPath()%>/images/explorerOpen.gif';
var noOfRows = 0;

if (areaType == 'MYFEE')
{
    noOfRows = document.getElementById('noOfclients').value;
}

sectionCollapse(collapseImage, expandImage, collapseArea, noOfRows, areaType,event);
     }

function sectionCollapse(collapseImg, expandImg, collapseArea, noOfRows,   areaType,event)
   {
    elementToColapse = document.getElementById(collapseArea);
    var event = event || window.event;

    var imageElem = event.target || event.srcElement;
    var elem = event.target || event.srcElement;


    while (elem.tagName != 'TABLE' ){ 
        elem = elem.parentElement;
    } 

    elementToColapse.style.display = 'none';
    //Now see if we need to expand of callapse

    if (elementToColapse.style.display=='none') {
        for (i = 0; i <= noOfRows; i++)
        {
            otherElement = document.getElementById(areaType + i);
            if (otherElement.style.display != 'none')
            {
                document.getElementById('IMG' + areaType + i).src = expandImg;
                otherElement.style.display= 'none'; 
            }
        }

        imageElem.src = collapseImg;
        elementToColapse.style.display= ''; 
        elem.className = 'sectionTitleOpen';
    } else {
        imageElem.src = expandImg;
        elementToColapse.style.display= 'none'; 
        elem.className = 'sectionTitleClosed';
    }
 }
功能collapseSection(collapseArea、区域类型、事件){
var collapseImage='/images/explorerClose.gif';
var expandImage='/images/explorerOpen.gif';
var noOfRows=0;
如果(areaType=='MYFEE')
{
noOfRows=document.getElementById('noOfclients').value;
}
截面塌陷(塌陷图像、expandImage、塌陷区域、noOfRows、区域类型、事件);
}
功能部分折叠(collapseImg、expandImg、collapseArea、noOfRows、areaType、event)
{
elementToColapse=document.getElementById(collapseArea);
var event=event | | window.event;
var imagelem=event.target | | event.src元素;
var elem=event.target | | event.src元素;
而(elem.tagName!=“TABLE”){
elem=elem.parentElement;
} 
elementToColapse.style.display='none';
//现在看看我们是否需要扩展callapse
if(elementToColapse.style.display=='none'){

对于(i=0;i@BalusC,有人能帮我解决这个问题吗?@Razz有人能帮我解决这个问题吗?我不使用java/jsp,因此内容让我很难阅读。因为你的问题实际上只是一个javascript/html问题,如果你只显示生成的html(而不是服务器端jsp),你可能会得到更多的帮助