用户管理的设计_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 replace方法去空格
May 08 jQuery
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 jQuery
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
jquery获取链接地址和跳转详解(推荐)
Aug 15 jQuery
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
Dec 18 jQuery
jQuery实现输入框的放大和缩小功能示例
Jul 21 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
Sep 20 jQuery
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
Jun 06 jQuery
jquery实现简单自动轮播图效果
Jul 29 jQuery
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 01 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 在线翻译函数代码
2009/05/07 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
php查询及多条件查询
2017/02/26 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
JavaScript面向对象编程
2008/03/02 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
2011/06/08 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
学习python分支结构
2019/05/17 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
香港通票:Hong Kong Pass
2019/02/26 全球购物
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
幼儿园家长会欢迎词
2014/01/09 职场文书
小学生打架检讨书
2014/01/26 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
捐资助学感谢信
2015/01/21 职场文书
欠条范文
2015/07/03 职场文书