大神们, 我隐藏完了为什么不 显示

<script type="text/javascript">

  function openwindow(obj){ 

         var a=document.getElementById("a").value = obj.innerText; 
         document.getElementById("teacherDiv").style.display="block";
  }

</script>
<!-- END JAVASCRIPTS -->
<style type="text/css">
#a:HOVER{ 
    text-decoration: underline;
    cursor: pointer;
    color: red;
   }
</style>



<!-- BEGIN PAGE DIV -->

<!-- BEGIN PAGE CONTAINER DIV-->

权限管理


                                <li>
                                    <i class="icon-home"></i>
                                    <a href="<%=basePath%>pages/module/login.jsp">系统设置</a>
                                    <i class="icon-angle-right"></i>
                                </li>
                                <li><s:a action="a_Query" namespace="/role" >管理员一览画面</s:a></li>
                                <li class="pull-right no-text-shadow"></li>
                            </ul>
    
    
    
        <div>          
                    角色名称    <br/>                       
                    <s:iterator  value="sysList"  status="item">                                                            
                            <s:a id="a" action="a_Query" namespace="/role"  onclick="return openwindow(this)"><s:param name="sysRoleModel.rtitle">${rtitle}</s:param>
                            <s:property value="rtitle"/>
                            </s:a><br/>                                             
                    </s:iterator>
                    </div> 
            <div  id="teacherDiv" style="display:none">
            <s:property value="sysRoleModel.rtitle"/>
           <s:checkbox name="privilegeIds" list="" listKey="" listValue="" >老师</s:checkbox>
            </div>
    

    你这写法有问题吧 那个a标签点了就提交了么 不写异步么?

    代码没问题,估计是浏览器问题。建议id和name不要使用标签名称比如"a"、"div"... 之类的。

    这样写是不行的。提交之后页面已经重新加载了,你改变的样式没有任何意义,需要通过ajax方式,提交返回之后再改变页面样式。

    你没有调显示代码啊,用Ajax吧

    通过ajax方式,提交返回之后再改变页面样式

    要么你的a标签不要写地址,就是不提交。要么ajax后再返回