ASP+AJAX N级菜单效果


<script src="prototype.js"></script>
<script language="javascript">
function getmenu(id,my,ins)   
{
  var targetRow=my;
    for(i=0;i<6;i++){
    targetRow = targetRow.parentElement;
  }
  //alert(targetRow.innerHTML);
  var index = targetRow.rowIndex;
  //alert(ins);
  var url = 'get.asp';   
  var pars = 'id=' + id+'&my='+index+'&ins='+ins;   
  var myAjax = new Ajax.Request(   url,{method: 'post', parameters: pars, onComplete: showResponse});
}
function showResponse(originalRequest)
{
  var msg= originalRequest.responseText;
  if(msg!="no"){
  var tb=document.getElementById("tbtree");
  var myindex=msg.split("$");
  var index=myindex[1];
  var tabRowLen = (parseInt(index) + 1);
  msg=msg.substr(0,myindex[0].length-1);
  arr=msg.split("|");
  var maxlen=arr.length;
  for(i=0;i<maxlen;i++)
  {
    tbody = tb.insertRow(tabRowLen);
    tabRowLen += 1;
    tbodyCell = tbody.insertCell();
    tbodyCell.height = 27;
    tbodyCell.innerHTML = arr[i];  
  }
}

</script>
<body>
<!--#include file="webconn.asp"-->
菜单树
<table width="500" border="0" cellspacing="0" cellpadding="0" id="tbtree">
  <%set rs=server.createObject("adodb.recordset")
  rs.open "select * from webmenu where m_top='0' order by m_order desc",conn,1,1
  if not rs.eof then
  while not rs.eof%>
  <tr>
    <td><table id="tb<%=rs(0)%>" border=1><tr><td><span onclick="getmenu(<%=rs(0)%>,this,1)"><%=rs("m_name")%></span></td></tr></table></td>
  </tr>
  <%
  rs.movenext
  wend
end if
  %>
</table>

asp端:
<!--#include file="webconn.asp"-->
<%
Response.Charset="GB2312"
id=request.Form("id")
my=request.form("my")
ins=request.form("ins")
'response.write(len(ins))
ge=""
for k=0 to len(ins)-1
  ge=ge&"<td width='10'><img src='' width=10></td>"
next
ins=ins+"1"
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from webmenu where m_top='"&id&"' order by m_order desc",conn,1,1
i=1
if not rs.eof and not rs.bof then
while not rs.eof
  a=a&"<table id='tb"& i &"' border=1><tr>"& ge &"<td><span onclick='getmenu("& rs(0) &",this,"& ins &")'>"& i & rs("m_name")&"</span></td></tr></table>|"
i=i+1
rs.movenext
wend
  response.Write(a&"$"&my)
else
  response.write("no")
end if
%>

发表评论

电子邮件地址不会被公开。 必填项已用*标注