使用Javascript在jsp中展开/折叠部分代码
我必须只在点击+(展开)时显示一个表,点击后,+应该被更改为-我应该折叠该表一次。我在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
<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),你可能会得到更多的帮助