java script部分函数如下: <script language="javascript">
function test(int i){
var li = document.getElementById('img_'+i);//获取菜单id
li.style.display = "none";//隐藏菜单项
}
</script>
jsp页面中调用部分如下,红色部分应该怎么写: <%
for (int i = 0; i < authoritys.size(); i++){
Authority au = authoritys.get(i);
//如果菜单标记为0,隐藏菜单项
if(au.getMenuFlag()==0){
%>
<script language="javascript">
test(i); </script>
<%
}
}
%>
菜单为树形菜单,隐藏的为<li>部分,求大拿指教~
function test(int i){
var li = document.getElementById('img_'+i);//获取菜单id
li.style.display = "none";//隐藏菜单项
}
</script>
jsp页面中调用部分如下,红色部分应该怎么写: <%
for (int i = 0; i < authoritys.size(); i++){
Authority au = authoritys.get(i);
//如果菜单标记为0,隐藏菜单项
if(au.getMenuFlag()==0){
%>
<script language="javascript">
test(i); </script>
<%
}
}
%>
菜单为树形菜单,隐藏的为<li>部分,求大拿指教~
function test(i){
var li = document.getElementById('img_'+i);//获取菜单id
li.style.display = "none";//隐藏菜单项
}
</script>
<script language="javascript">
<%
for (int i = 0; i < authoritys.size(); i++){
Authority au = authoritys.get(i);
if(au.getMenuFlag()==0){
%>
test(<%=i%>);
<%
}
}
%>
</script>
//alert("test!!!!!!!!!");
<%
for (int i = 0; i < authoritys.size(); i++){
Authority au = authoritys.get(i);
if(au.getMenuFlag()==0){
%>
alert("test!!!!!!!!!");
test(<%=i%>);
<%
}
}
%>
alert("test!!!!!!!!!");
</script>我把这部分代码放在body中,为什么执行不到test(),红色部分测试能alert,绿色部分却不行,为什么?
for (int i = 0; i < authoritys.size(); i++){
Authority au = authoritys.get(i);
//如果菜单标记为0,隐藏菜单项
if(au.getMenuFlag()==0){ out.print("<script language=\"javascript\">test("+i+");</script>"); }
}
%>
按你说的做了,调用不到script中的test(),在test()中alert测试不行~
//检查session,获取登录用户
Admin a = (Admin) session.getAttribute("admin");
String roleName = a.getAdminType();
%>
<%
List<Authority> authoritys = new ArrayList<Authority>();
int totalRecords = Authority.getAuthoritys2(authoritys, 1, 9, roleName);
%>
<%
for (int i = 0; i < authoritys.size(); i++){
Authority au = authoritys.get(i);
//如果菜单标记为0,隐藏菜单项
if(au.getMenuFlag()==1){
out.print("<script language=\"javascript\">test("+i+");</script>");
}
}
%>
获取登录用户的角色类型,从数据库中获取该角色的菜单信息,检查该角色的菜单标记,为0则隐藏这个菜单,for中的i和<li id="img_i">中的i对应,隐藏的都是一级菜单,这样二级菜单也会隐藏~
<ul id="menu">
<li id="img_1" class="h0">
<li id="img_2" class="h1">
<li id="img_3" class="h0">
<li id="img_4" class="h1">
<li id="img_5" class="h0">
...
</menu>
class=h0的用作隐藏标记,h1的显示.然后用JS把li有h0值的display:none; 我用jquery来写
$("#menu li[class='h0']").css("display","none");
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" charset="UTF-8" src="system/js/jquery.js"></script>
<title>Untitled Document</title>
</head><body>
<ul id="menu">
<li id="img_1" class="h0">1</li>
<li id="img_2" class="h1">2</li>
<li id="img_3" class="h0">3</li>
<li id="img_4" class="h1">4</li>
<li id="img_5" class="h0">5</li>
</ul>
<script type="text/javascript">
$(document).ready(function(){
$("#menu li[class='h0']").css("display","none");
});</script>
</body>
</html>