利用了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 相关文章推荐
背景音乐每次刷新都可以自动更换
Feb 01 Javascript
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
利用js实现遮罩以及弹出可移动登录窗口
Jul 08 Javascript
js 遍历json返回的map内容示例代码
Oct 29 Javascript
jQuery实现tab标签自动切换的方法
Feb 28 Javascript
分享JS数组求和与求最大值的方法
Aug 11 Javascript
js中string和number类型互转换技巧(分享)
Nov 28 Javascript
微信小程序tabbar不显示解决办法
Jun 08 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
Aug 27 Javascript
Jquery获取radio选中值实例总结
Jan 17 jQuery
Vue数据双向绑定原理实例解析
May 15 Javascript
手把手教你如何编译打包video.js
Dec 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 分库分表hash算法
2009/11/12 PHP
php垃圾代码优化操作代码
2010/08/05 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
JavaScript中的变量作用域介绍
2014/12/31 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
2015/03/04 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
python中base64加密解密方法实例分析
2015/05/16 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
python无序链表删除重复项的方法
2020/01/17 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
英语专业个人求职自荐信
2013/09/21 职场文书
结婚喜宴家长答谢词
2014/01/15 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
十月围城观后感
2015/06/08 职场文书
党组织结对共建协议书
2016/03/23 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python