用户管理的设计_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插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
Mar 23 jQuery
Jquery中attr与prop的区别详解
May 27 jQuery
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 jQuery
JavaScript实现离开页面前提示功能【附jQuery实现方法】
Sep 26 jQuery
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jQuery中实现text()的方法
Apr 04 jQuery
javascript异步处理与Jquery deferred对象用法总结
Jun 04 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
jQuery带控制按钮轮播图插件
Jul 31 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 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
用Flash图形化数据(二)
2006/10/09 PHP
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
js中关于String对象的replace使用详解
2011/05/24 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
详解vue-router导航守卫
2019/01/19 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
Python使用gensim计算文档相似性
2016/04/10 Python
Python中index()和seek()的用法(详解)
2017/04/27 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
python中的随机函数random的用法示例
2018/01/27 Python
Python面向对象之继承和多态用法分析
2019/06/08 Python
在Python中表示一个对象的方法
2019/06/25 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
客服实习的个人自我鉴定
2013/10/20 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
个人欠款担保书
2014/05/20 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书