用户管理的设计_jquery的ajax实现二级联动效果
网络编程 2021-07-04 18:32www.168986.cn编程入门
狼蚁网站SEO优化长沙网络推广就为大家带来一篇用户管理的设计_jquery的ajax实现二级联动效果。长沙网络推广觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随长沙网络推广过来看看吧
页面效果
实现步骤
1.引入struts整合json的插件包
2.页面使用jquery的ajax调用二级联动的js
//ajax的二级联动,使用选择的所属单位,查询该所属单位下对应的单位名称列表 function findJctUnit(o){ //货物所属单位的文本内容 var jct = $(o).find("option:selected").text(); $.post("elecUserAction_findJctUnit.do",{"jctID":jct},function(data,textStatus){ //先删除单位名称的下拉菜单,请选择要留下 $("#jctUnitID option").remove(); if(data!=null && data.length>0){ for(var i=0;i<data.length;i++){ var ddlCode = data[i].ddlCode; var ddlName = data[i].ddlName; //添加到单位名称的下拉菜单中 var $option = $("<option></option>"); $option.attr("value",ddlCode); $option.text(ddlName); $("#jctUnitID").append($option); } } }); }
3.在Action类中定义findJctUnit()方法,这里要将返回的List集合放置到栈顶,struts2将其转换成json数据
/ @Name: findJctUnit @Description: 使用jquery的ajax完成二级联动,使用所属单位,关联单位名称 @Parameters: 无 @Return: 使用struts2的json插件包 / public String findJctUnit(){ //1获取所属单位下的数据项的值(从页面提交的jctID值,不是数据字典中的ddlcode) String jctID = elecUser.getJctID(); //2使用该值作为数据类型,查询对应数据字典的值,返回List<ElecSystemDDL> List<ElecSystemDDL> list = elecSystemDDLService.findSystemDDLListByKeyword(jctID); //3将List<ElecSystemDDL>转换成json的数组,将List集合放置到栈顶 ValueUtils.pushValueStack(list); return "findJctUnit"; }
其中,findSystemDDLListByKeyword(jctID)是在数据字典service中实现的方法,主要根据数据类型名称查询数据字典,返回list集合对象
ValueUtils是一个工具类,pushValueStack方法将list压入到struts2值栈的栈顶
public class ValueUtils { public static void pushValueStack(Object object) { ServletActionContext.getContext().getValueStack().push(object); } }
struts2的插件包会将压入到struts2值栈的list集合中对象所有的属性全部被json化
4.在struts.xml中定义
(1)修改 extends值
修改前
<!-- 系统管理 --> <package name="system" extends="struts-default" namespace="/system">
修改后
<!-- 系统管理 --> <package name="system" extends="json-default" namespace="/system">
(2)添加映射
<!-- 如果是List集合,转换成json数组;如果是object对象,转换成json对象 --> <result name="findJctUnit" type="json"></result>
完成上述步骤以后,即可实现选中所属单位下拉框的值,在单位名称下拉选项中有对应值。
在浏览器页面查看json数据如下
若想针对某个属性被json化,此时可以修改struts.xml文件
<!-- 如果是List集合,转换成json数组;如果是object对象,转换成json对象 --> <result name="findJctUnit" type="json"> <param name="includeProperties">\[\d+\]\.ddlCode,\[\d+\]\.ddlName</param> </result>
这里使用正则表达式拦截一个或多个ddlCode和ddlName,这样json数据中就只含有ddlCode和ddlName了。
以上这篇用户管理的设计_jquery的ajax实现二级联动效果就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程