<script language="JavaScript">function m_start(name,tt)
{
  document.writeln('<tr><td>'+(tt==1?'-':'+')+'</td>');
  document.writeln('<td><a href="#" onclick="zgmm()">'+name+'</a></td>');
  document.writeln('</tr>');
  document.writeln('<tr style="display: '+(tt==1?'block':'none')+';">');
  document.writeln('<td class="bj"> </td>');
  document.writeln('<td>');
  document.writeln('<table border="0" cellpadding="0" cellspacing="0">');
}function m_end()
{
  document.writeln('</table></td></tr>');
}function add_Sub(name,url,kj)
{
  document.writeln('<tr><td></td><td>');
  document.writeln('<a target="'+kj+'" href="'+url+'">'+name+'</a>');
  document.writeln('</td></tr>');
}function zgmm()
{
  var ero = event.srcElement.parentElement.previousSibling;
  var mo = event.srcElement.parentElement.parentElement.nextSibling;
  mo.style.display = (mo.style.display=="none")?"block":"none";
  ero.innerHTML = (mo.style.display=="none")?"+":"-";
}
</script>
</head><body>
<% String str = "http://www.163.com"; %>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<script language="JavaScript">m_start("aaaaaaaaaaaaaaa",1);
add_Sub("百度","http://www.baidu.com","_blank");
add_Sub("163","http://www.163.com","_blank");
m_end();
m_start("aaaaaaaaaaa",0);
for(i = 0;i<3;i++)
{
add_Sub("a","go.html","_blank");
}
m_end();
m_start("aaaaaaaaaaaaaa",1);
document.writeln('<tr><td>'+'"<%= str %>"'+'</td><td>');
m_end();</script>
</table>
我想弄一个动态菜单,就是说下拉的内容不是固定的,根据数据库里传出来的参数而决定下拉出多少个内容。
上边我的这个for循环,是不是有什么问题,我想给a赋值。add_Sub("a","go.html","_blank");
如果给a赋上值,那么是不是这个循环就可以做到循环。

解决方案 »

  1.   

    a也同样可以用<%=值%>来赋
      

  2.   

    对,可以直接使用jsp的输出语句输出a的值,<%=%>,<% out.print(); %> 都行。jsp的执行在服务器端,javascript执行在客户端。如果a=“123”;源代码是
    add_Sub("<%=a%>","go.html","_blank");
    服务器执行后就成了
    add_Sub("123","go.html","_blank");
    javascript再在客户端执行生成树
      

  3.   

    哦,谢谢,小的不才,对JSP,JS还是个盲人阶段