java web 菜单_JavaWeb开发之使用jQuery与Ajax实现动态联级菜单效果

本文通过一个JavaWeb项目的实例,演示如何使用jQuery和Ajax实现动态联级菜单效果。重点讲解了jQuery的ajax方法,包括设置提交类型、URL、数据类型以及处理成功和失败的回调函数。在后台使用Spring+SpringMVC框架,前端通过监听select控件的改变事件,触发Ajax请求,动态更新下级菜单选项。
摘要由CSDN通过智能技术生成

写在前面,在笔者完成这个demo的时候,笔者发现现在大家已经不用Ajax来完成联级菜单了,实际上笔者这个demo也并不是为了完成这个,笔者主要的学习方向是JavaWeb后台的业务逻辑开发。但是做后台呢还是需要对前端有所了解,尤其是像Ajax这种异步提交数据的技术需要了解并掌握。所以这里笔者这里用了一个联级菜单来练习Ajax异步提交,当然后续还会写几个异步提交表单的demo。

笔者的后台是用的spring+SpringMVC的框架,这里不对这部分进行解释,重点在jQuery和Ajax。

第一,下载jquery.js这个资源

第二,将下载好的jquery.js导入项目中

在javaweb项目中,直接放在 WebContent 中即可(也可以建立自己的文件夹,但不要放在WEB-INF文件中)

3f131e99f9e847ad1b9b9ed78465ef60.png

第三,开始编写代码

新建一个JSP文件

代码如下

pageEncoding="UTF-8"%>

Ajax Test

> listMap = (List>)request.getAttribute("list"); %>

请选择班级

Map map = listMap.get(i);

%>

请先选择班级

//jquery标准语法

$(document).ready(function(){

//监听id为class的select控件的改变动作,当这个控件所选中的控件改变时会出发这个function

$("#class").change(function(){

//调用jquery中的ajax

$.ajax({

//设定提交方式,主要是"GET"和"POST"

type:"POST",

//设定提交的url,这里只能选择本地的,如果需要调用其他域的资源,请google解决跨域问题

url:"ajax.html?className="+$("#class").val(),

//设定后台返回的格式,一般都是直接使用json,这一句不能少,否则当后台返回数据时,不会调用success方法

dataType:"json",

//当后台成功返回数据时调用该方法,data参数表示被jquery中的ajax格式化的json数据(实际上在非jquery的ajax中需要我们手动格式化,纯JS的方法我也写在了注释里面。jquery中格式json数据的方法是parse)

success:function(data){

//清空id为name的select控件

$("#name").empty();

//给id为那么的select控件添加一个选项

$("#name").append("请选择姓名");

//循环遍历整个data(JSON数据),并给id为name的select控件添加option选项

$.each(data,function(i,n){

$("#name").append(""+data[i].name+"");

});

},

//当返回数据不成功时的操作

error:function(jqXHR,XMLResponse){

alert(arguments[1]);

alert(XMLResponse.responseText);

alert("发生错误:"+jqXHR.status);

}

});

});

});

第四,最后实现的效果图

359a26df9353acd02508c5c4c7dbb16d.png

35a6ccb4d3ed1754384bc7e3ded9e29c.png

43d85ca33ed07bee5959a50f03fa23a4.png

f8590f1f214875ec53e4788af768aae1.png

以上所述是小编给大家介绍的JavaWeb开发之使用jQuery与Ajax实现动态联级菜单效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值