利用了jquery的ajax实现二级联互动菜单


Posted in Javascript onDecember 02, 2013

菜单资源保存在数据库中。利用了jquery的ajax实现。用到的包有:json-lib-2.2.3-jdk15.jar ezmorph-1.0.6.jar json.js jquery.js

jsp页面的代码:

<%@ page contentType="text/html; charset=gbk"%> 
<%@ taglib prefix="s" uri="/struts-tags"%> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/json.js"></script> 
<% String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/"; 
out.println(basePath); 
%> <script type="text/javascript"> 
jQuery(function($){ 
//alert("ok"); 
}); 
function onchangeShow(oneId){ 
$.ajax({ 
url : "<%=basePath%>cateJson.whbs", 
data : {parentId : oneId}, // 参数 
type : "post", 
cache : false, 
dataType : "json", //返回json数据 
error: function(){ 
alert('error'); 
}, 
success:onchangecallback 
}); 
} 
function onchangecallback(data){ 
document.all['twoId'].options.length = 0; //清空原有的option 
var str=""; 
for(var i=0;i<data.length;i++){ 
str+="<option value='"+data[i].recordId+"'>"+data[i].title+"</option>" 
} 
$("#twoId").html(str); 
} 
</script> 
<html> 
<body> 
<div align="center"> 
请选择部门类型 
<s:select list="rfones" listKey="recordId" listValue="title" name="oneId" theme="simple" id="oneId" value="oneID" onchange="onchangeShow(this.value)"></s:select> 
请选择文件类型 
<s:select list="rftwos" listKey="recordId" listValue="title" name="twoId" theme="simple" id="twoId" value="twoID"></s:select> 
</div> 
</body> 
</html>

struts中action的代码
/** 
* des:取得二级联动菜单 
* autho:exceljava 
* date:Nov 20, 2009 
* @return 
* @throws IOException 
*/ 
public String getJsonCategory() throws IOException{ 
rfjsons=archiveService.getCategoryByParentID(parentId);//这里从数据库取得数据 
net.sf.json.JSONArray jsonObj=net.sf.json.JSONArray.fromObject(rfjsons);//组装成json数据 
sendMessage(jsonObj.toString());//向视图push json数据 
return null; 
} 
/** 
* des:封装发送json格式的数据回js 
* autho:exceljava 
* date:Nov 20, 2009 
* @param content 
* @throws IOException 
*/ 
public void sendMessage(String content) throws IOException{ 
HttpServletResponse response = ServletActionContext.getResponse(); 
response.setCharacterEncoding("UTF-8"); 
response.getWriter().write(content); }
Javascript 相关文章推荐
JavaScript的21条基本知识点
Mar 04 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
Nov 01 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
Dec 11 Javascript
jQuery UI仿淘宝搜索下拉列表功能
Jan 10 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
Jan 20 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
May 02 Javascript
vue中如何实现变量和字符串拼接
Jun 19 Javascript
angularjs实现猜数字大小功能
May 20 Javascript
实现div内部滚动条滚动到底部和顶部的代码
Nov 15 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
JS伪继承prototype实现方法示例
Jun 20 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 Javascript
前台js调用后台方法示例
Dec 02 #Javascript
用javascript为页面添加天气显示实现思路及代码
Dec 02 #Javascript
给ListBox添加双击事件示例代码
Dec 02 #Javascript
js抽奖实现随机抽奖代码效果
Dec 02 #Javascript
javascript模拟地球旋转效果代码实例
Dec 02 #Javascript
js实现全屏漂浮广告移入光标停止移动
Dec 02 #Javascript
扩展JS Date对象时间格式化功能的小例子
Dec 02 #Javascript
You might like
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
PHP检测用户语言的方法
2015/06/15 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
jquery遍历input取得input的name
2009/04/27 Javascript
让你的网站可编辑的实现js代码
2009/10/19 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python flask实现分页的示例代码
2018/08/02 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
在python中求分布函数相关的包实例
2020/04/15 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
python SOCKET编程基础入门
2021/02/27 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
交通安全教育制度
2014/02/02 职场文书
大气污染防治方案
2014/05/19 职场文书
服务行业演讲稿
2014/09/02 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
监察建议书
2015/02/04 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
Angular CLI发布路径的配置项浅析
2021/03/29 Javascript
python Tkinter模块使用方法详解
2022/04/07 Python
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python