`

菜单联动实现三(AJAX+TV20.js)

    博客分类:
  • Ajax
阅读更多

1、拿到父目录信息

    

<%
List<Category> categories = CategoryService.getInstance().getTopCategories();
%>

 

2、主脚本

      

<script language="javascript">
<!--
	addListener("dblclick", "myLabelDblClick");//当事件类型为dblclick时,就调用myLabelDblClick方法
	addNode(-1,0,"类别","images/top.gif");//增加根节点
	<%
	for(int i=0; i<categories.size(); i++) {//把父目录信息增加到根节点下面
		Category c = categories.get(i);
		%>
		addNode(<%=c.getPid()%>,<%=c.getId()%>,"<%=c.getName()%>","images/top.gif");
		<%
	}
	%>
	showTV();
-->
</script>

 3、实现myLabelDblClick方法

     

<script language="javascript" src="script/TV20.js"></script>//引用TV20.js
<script language="javascript">
	var req;
	var gKey;
	function init() {
		if(windodw.XMLHttpRequest) {
			req = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	function myLabelDblClick(key, parentKey) {
		if(findNode(key).subitems.length > 0) return;
		init();
		gKey = key;
		var url = "GetCategoryChilds2.jsp?id=" + escape(key);
		req.open("GET", url, true);
		req.onreadystatechange = callback;
		req.send(null);
	}
	
	function callback() {
		if(4 == req.readyState) {
			if(200 == req.status) {
				eval(req.responseText);
				var node = findNode(gKey);//将插入孩子的父节点刷新后再打开
				if(node.subitems.length > 0) {
					node.refresh();
					node.open();
				}
			}
		}
		
	}
	
	
</script>

 

    4、实现GetCategoryChilds2.jsp

  

<%
int id = Integer.parseInt(request.getParameter("id"));
//取出该孩子下面的所有孩子信息,加入到相应的父节点下面
List<Category> childs = CategoryService.getInstance().getChilds(id) ;
System.out.println(childs.size());
StringBuffer buf = new StringBuffer();

for(int i=0; i<childs.size(); i++) {
	Category c = childs.get(i);
	buf.append("addNode(" + id + "," + c.getId() + ",'" + c.getName() + "','images/top.gif');" + "\n");
}

response.setContentType("text/html;charset=gbk");
response.setHeader("Cache-Control", "no-store"); //HTTP1.1
response.setHeader("Pragma", "no-cache"); //HTTP1.0
response.setDateHeader("Expires", 0); //prevents catching at proxy server

response.getWriter().write(buf.toString());
%>

 

分享到:
评论

相关推荐

    省市县三级菜单联动(mysql+ajax+json+php)

    在IT行业中,构建一个省市县三级菜单联动的功能是常见的需求,尤其在网页应用中,用于让用户选择他们的地理位置。本项目采用的技术栈包括MySQL数据库、AJAX异步通信、JSON数据格式以及PHP服务器端编程,这些都是Web...

    省市县三级联动菜单(asp+access).

    省市县三级联动菜单是一种常见的网页交互设计,常用于地理信息选择,例如在填写地址时,用户依次选择省份、城市和县区,这三个选项之间存在层级关系,并且选择上级菜单后,下级菜单会动态更新。在ASP(Active Server...

    联动四级菜单+无限级联动菜单+无限级联动菜单-AJAX版&JavaScript版.zip

    联动四级菜单+无限级联动菜单+无限级联动菜单-AJAX版&JavaScript版

    联动菜单大全(含ajax,无限级联动菜单)

    联动菜单在Web开发中是一种常见的交互设计,它通常用于实现数据层级关系的展现和操作,如省份-城市-区县的三级联动选择。本资源包“联动菜单大全”包含了多种类型的联动菜单实现,包括与数据库交互的、使用AJAX技术...

    ASP实例开发源码-ASP四级联动下拉菜单 (XML+Access).zip

    ASP实例开发源码—ASP四级联动下拉菜单 (XML+Access).zip ASP实例开发源码—ASP四级联动下拉菜单 (XML+Access).zip ASP实例开发源码—ASP四级联动下拉菜单 (XML+Access).zip

    ajax+json+ashx实现下拉列表三级联动.rar

    本项目“ajax+json+ashx实现下拉列表三级联动”旨在利用jQuery、Ajax以及ASHX处理程序来创建这样一个功能。 首先,jQuery是一个强大的JavaScript库,它的易用性和丰富的API使得处理DOM操作、事件绑定、动画效果以及...

    .net+xml+ajax.dll实现省市县三级联动无刷新代码例子

    这个示例代码可以帮助开发者理解如何在.NET环境中结合XML和AJAX实现前后端通信,以及如何构建一个高效、无刷新的省市县三级联动功能。对于初学者来说,这是一个很好的实践案例,有助于深入理解Web开发中的异步交互和...

    ajax+ChinaArea.xml实现三级联动

    在本案例中,“ajax+ChinaArea.xml实现三级联动”指的是利用Ajax技术,配合一个名为“ChinaArea.xml”的XML文件,来创建一个展示中国行政区域的三级联动下拉菜单系统。 首先,ChinaArea.xml文件通常包含中国各个...

    php+ajax+mysql省市县三级联动(1张数据库).zip

    在IT行业中,开发一个能够实现省市县三级联动的系统是一项常见的需求,特别是在处理地理信息或者地址选择时。这个"php+ajax+mysql省市县三级联动"的资源提供了一个基于PHP、Ajax和MySQL实现的示例,它可以帮助初学者...

    mysql+ajax+jsp实现三级联动

    关于联动以前都没接触过,这是我第一次学习用的例子,很实用,适合初学者下载学习

    省市县(区)三级联动下拉菜单(内含省市县(区)access、sqlsever数据库)

    在前端,三级联动下拉菜单通常通过JavaScript来实现,利用事件监听和DOM操作。当用户在一级下拉菜单(如省份)中选择一个选项时,二级下拉菜单(如城市)会根据省份的选择动态加载对应的城市数据。同理,选择城市后...

    联动下拉列表html+.net+Ajax.rar

    在本案例中,“联动下拉列表html+.net+Ajax.rar”是一个包含示例代码的压缩包,主要演示了如何使用HTML、ASP.NET和AJAX技术实现联动下拉列表。 首先,我们来看HTML部分。HTML是构建网页结构的基础语言,它创建了...

    地区三级联动AJAX源码+数据库(绝对能用,极品)

    标题中的“地区三级联动AJAX源码+数据库”是指一种基于AJAX技术实现的地区选择功能,它通常用于网站的地址填写或者搜索筛选等场景。这个功能的特点是,用户在选择省份时,下拉菜单会自动加载对应的市,再选择市时,...

    基于Ajax的三级联动下拉菜单.rar

    基于Ajax的三级联动下拉菜单.rar基于Ajax的三级联动下拉菜单.rar基于Ajax的三级联动下拉菜单.rar基于Ajax的三级联动下拉菜单.rar基于Ajax的三级联动下拉菜单.rar基于Ajax的三级联动下拉菜单.rar

    帝国CMS二级联动插件(ajax下拉列表) 帝国CMS二级联动插件(ajax下拉列表).rar

    本压缩包“帝国CMS二级联动插件(ajax下拉列表).rar”提供的就是针对帝国CMS系统的一个二级联动插件,利用AJAX技术实现实时数据加载。AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下,...

    ajax+json实现多级联动菜单

    ### 使用Ajax+JSON实现多级联动菜单的知识点详解 #### 一、背景介绍与概念解析 随着互联网技术的发展,用户对交互式应用的需求日益增长。RIA(Rich Internet Applications)概念的提出更是加速了这一趋势。其中,...

    省市区三级联动ajax+json+jquery

    在这个"省市区三级联动ajax+json+jquery"的例子中,开发者孙意如提供了一个基于AJAX、JSON和jQuery的小型示例,帮助我们理解和实现这一功能。 首先,我们要理解AJAX(Asynchronous JavaScript and XML),它是一种...

    三级联动大全_js+jsion三级联动_xml+js+jquery三级联动.rar

    【描述】提到的"js三级联动"是指在网页中,通过JavaScript实现的三个下拉菜单之间的联动效果。这种联动通常应用在省、市、区这样的地理信息选择中,用户在选择一个省后,市的选项会根据省的选择动态更新;选择市后,...

    jquery+ajax+jsp+servlet实现二级级联菜单

    ### 使用jQuery、Ajax、JSP与Servlet实现二级级联菜单 #### 一、项目背景与技术栈概述 本文档将详细介绍如何使用jQuery、Ajax、JSP与Servlet来实现一个简单的二级级联菜单功能。该功能常见于许多Web应用程序中,如...

    超简单的ajax+jsp实现2级联动!!

    在这个"超简单的ajax+jsp实现2级联动"的例子中,我们将探讨如何利用AJAX(Asynchronous JavaScript and XML)技术和JavaServer Pages (JSP)来实现这种功能。 首先,我们需要了解AJAX的基本原理。AJAX允许网页在不...

Global site tag (gtag.js) - Google Analytics