将JSP一组件隐藏后再显示,在页面显示就缩在一个单元格内了,为什么会出现这种问题,如何解决
JSP代码:
<tr class="tr_left" id="versionTypeTr">
    <td width="15%"><bean:message key='public.jsp.page.versionTypes'/></td>
    <td width="85%" colspan="2"><select id="version_types" name="version_types" <c:if test="${sop.sopType=='1'}">disabled</c:if>>
     <option value=""><bean:message key='public.jsp.prompt.pleaseSelect'/></option>
     <c:forEach items="${versionTypeList}" var="vtList">
      <option value="${vtList.typeDetailCode}" <c:if test="${vtList.typeDetailCode==sop.versionType}"><c:out value="selected"></c:out></c:if>>${vtList.typeDetailName}</option>
      </c:forEach>
      </select><font color=red>*</font></td>
</tr>
<tr class="tr_left" id="beginVersionTr">
     <td width="15%"><bean:message key='public.jsp.page.beginVersion'/></td>
     <td width="85%" colspan="2"><input id="begin_version" name="begin_version" type="text" value="${sop.beginVersion}" onchange="checkVersion(this.value,'begin')" size ="10"<c:if test="${sop.sopType=='1'}">disabled</c:if>/>
      <font color=red>*<bean:message key='M03.sop.jsp.page.beginVersionFormat'/></font>
      </td>
</tr>
打开这个页面的时候这两个组件是显示的,而且占了三个单元格,当我操作另一个组件时随着值的变化这两个组件就隐藏了,然后再改变那个组件的值,这两个组件再显示,这时候出问题了,这两个组件在页面里只占一个单元格,有人遇到过吗?如何解决!!求指点!!
JS代码:
if(sopTypes==1){
         document.getElementById("versionTypeTr").style.display="none";
         document.getElementById("version_types").value=""
         document.getElementById("beginVersionTr").style.display="none";
         document.getElementById("begin_version").value="";
     }else{
         document.getElementById("versionTypeTr").style.display="block";
         document.getElementById("beginVersionTr").style.display="block";
     }
tr_left css代码:
.tr_left
{
     text-align:left;
     background:#FAFAF1;
}
------解决方案--------------------
不能用block,
用 table-row 试试看吧
document.all.dh.style.display='table-row';	//这样显示没问题