利用了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 获取计算后的样式写法及注意事项
Feb 25 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
Sep 10 Javascript
js定时器怎么写?就是在特定时间执行某段程序
Oct 11 Javascript
jQuery.trim() 函数及trim()用法详解
Oct 26 Javascript
jquery+php实现滚动的数字特效
Nov 29 Javascript
js判断文件格式及大小的简单实例(必看)
Oct 11 Javascript
angular+bootstrap的双向数据绑定实例
Mar 03 Javascript
利用forever和pm2部署node.js项目过程
May 10 Javascript
Node.js应用设置安全的沙箱环境
Apr 23 Javascript
JavaScript寄生组合式继承原理与用法分析
Jan 11 Javascript
vue生命周期与钩子函数简单示例
Mar 13 Javascript
JavaScript中继承原理与用法实例入门
May 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 程序员也要学会使用“异常”
2009/06/16 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
Django  ORM 练习题及答案
2019/07/19 Python
Python 音频生成器的实现示例
2019/12/24 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
ORACLE第二个十问
2013/12/14 面试题
工程力学专业毕业生求职信
2013/10/06 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
幼师大班个人总结
2015/02/13 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
python简单验证码识别的实现过程
2021/06/20 Python
Python实战之OpenCV实现猫脸检测
2021/06/26 Python