利用了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 相关文章推荐
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
Jan 12 Javascript
浅析JS中document对象的一些重要属性
Mar 06 Javascript
jQuery消息提示框插件Tipso
May 04 Javascript
理解js对象继承的N种模式
Jan 25 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
Oct 10 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
jQuery按需加载轮播图(web前端性能优化)
Feb 17 Javascript
一种angular的方法级的缓存注解(装饰器)
Mar 13 Javascript
详解微信小程序的 request 封装示例
Aug 21 Javascript
vue中导出Excel表格的实现代码
Oct 18 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
Sep 28 Javascript
关于vue的列表图片选中打钩操作
Sep 09 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利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
Prototype使用指南之selector.js
2007/01/10 Javascript
JS 图片缩放效果代码
2010/06/09 Javascript
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
linux面试题参考答案(11)
2012/05/01 面试题
北京奥运会主题口号
2014/06/13 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
Python 线程池模块之多线程操作代码
2021/05/20 Python