用户管理的设计_jquery的ajax实现二级联动效果


Posted in jQuery onJuly 13, 2017

页面效果

用户管理的设计_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数据如下:

用户管理的设计_jquery的ajax实现二级联动效果

若想针对某个属性被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实现二级联动效果就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
JS+jQuery实现注册信息的验证功能
Sep 26 jQuery
jQuery中extend函数简单用法示例
Oct 11 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
jQuery实现上下滚动公告栏详细代码
Nov 21 jQuery
jquery添加div实现消息聊天框
Feb 08 jQuery
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
jquery实现轮播图特效
Apr 12 jQuery
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
JQuery EasyUI的一些常用组件
Jul 12 #jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 #jQuery
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 #jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 #jQuery
使用jQuery实现动态添加小广告
Jul 11 #jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 #jQuery
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 #jQuery
You might like
简单的PHP缓存设计实现代码
2011/09/30 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
php压缩文件夹最新版
2018/07/18 PHP
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
Python入门篇之正则表达式
2014/10/20 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Flask解决跨域的问题示例代码
2018/02/12 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
python实现人机猜拳小游戏
2020/02/03 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
python利用faker库批量生成测试数据
2020/10/15 Python
Python修改DBF文件指定列
2020/12/19 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
linux系统都有哪些运行级别
2016/03/26 面试题
大学生毕业自我评价范文分享
2013/11/11 职场文书
车间组长岗位职责
2013/12/20 职场文书
2014年机关植树节活动方案
2014/02/27 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
通信工程专业求职信
2014/06/04 职场文书
学生自我评语
2015/01/04 职场文书
贷款担保书
2015/01/20 职场文书
匿名信格式范文
2015/05/27 职场文书
创业计划书之花店
2019/09/20 职场文书
Golang Web 框架Iris安装部署
2022/08/14 Python