利用了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 相关文章推荐
日历查询的算法 如何计算某一天是星期几
Dec 12 Javascript
js自定义事件及事件交互原理概述(二)
Feb 01 Javascript
JavaScript学习心得之概述
Jan 20 Javascript
jQuery判断数组是否包含了指定的元素
Mar 10 Javascript
javascript中的3种继承实现方法
Jan 27 Javascript
AngularJS基础 ng-srcset 指令简单示例
Aug 03 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
Nov 22 Javascript
react-native-video实现视频全屏播放的方法
Mar 19 Javascript
使用D3.js+Vue实现一个简单的柱形图
Aug 05 Javascript
基于vue-cli3和element实现登陆页面
Nov 13 Javascript
Javascript ParentNode和ChildNode接口原理解析
Mar 16 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
Apr 14 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
2019/10/28 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
简析Python的闭包和装饰器
2016/02/26 Python
遗传算法之Python实现代码
2017/10/10 Python
Django视图和URL配置详解
2018/01/31 Python
Python跳出多重循环的方法示例
2019/07/03 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
python属于解释型语言么
2020/06/15 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
回门宴父母答谢词
2014/01/26 职场文书
学生思想表现的评语
2014/01/30 职场文书
班级文化标语
2014/06/23 职场文书
销售人员求职信
2014/07/22 职场文书
中秋节活动总结
2014/08/29 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
四年级学生期末评语
2014/12/26 职场文书
建议书格式
2015/02/04 职场文书
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP