利用了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 相关文章推荐
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
May 03 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
Feb 20 Javascript
bootstrap data与jquery .data
Jul 07 Javascript
使用不同的方法结合/合并两个JS数组
Sep 18 Javascript
jquery实现在光标位置插入内容的方法
Feb 05 Javascript
jquery validate.js表单验证入门实例(附源码)
Nov 10 Javascript
sencha ext js 6 快速入门(必看)
Jun 01 Javascript
浅析js中mvvm模式实现的原理
Oct 06 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
jquery分页优化操作实例分析
Aug 23 jQuery
vue iview实现动态新增和删除
Jun 17 Javascript
详解如何在Canvas中添加事件的方法
Apr 17 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
第一个无线电台是由谁发明的
2021/03/01 无线电
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
100行python代码实现跳一跳辅助程序
2018/01/15 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
Django 外键的使用方法详解
2019/07/19 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
python 调试冷知识(小结)
2019/11/11 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
python math模块的基本使用教程
2021/01/16 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
北京某公司的.net笔试题
2014/03/20 面试题
什么是lambda函数
2013/09/17 面试题
教你打造完美的创业计划书
2014/01/06 职场文书
中学生自我评价范文
2014/02/08 职场文书
2014政务公开实施方案
2014/02/19 职场文书
个人委托书格式
2014/04/04 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
Python装饰器详细介绍
2022/03/25 Python
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript