I've to display a table only on click of the + (Expand) and + should get changed to - and I should collapse the table once - is clicked. I've the below code in the jsp page:
<pre lang="HTML"><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"/> </tr>
</c:forEach>
And my javascript method is as below:
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';
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';
}
}
When I click on '+' It just disappears and the expand doesn't work. Could you tell me what's missing?Thanks in advance!!!