利用jquery.chained.remote实现多级级联
多级级联一直是前端比较烦人的一个功能,本次用jquery的插件,chained.remote实现多级级联。
应用场景:至少有二个下拉框,下拉框的个数不定。
应用步骤:
1.引入js文件,当然这个插件需要自己去下载。
<!-- 多级联动 -->
<script type="text/javascript" src="./static/js/jquery.chained.remote.min.js"></script>
2.两个下拉框
<!--第一个下拉框-->
<div class="col-lg-2 col-md-3 col-sm-4 col-xs-6"
style="padding-bottom: 2px">
<div class="input-group input-group-sm">
<span class="input-group-addon">材料/产品</span> <select
class="form-control" name="categoryType" id="categoryType"
onchange="setParm(this.name, this.value)">
<option value="">所有</option>
<option value="0"><c:if test='${pm.categoryType==1}'>selected</c:if>材料
</option>
<option value="1"><c:if test='${pm.categoryType==2}'>selected</c:if>产品
</option>
</select>
</div>
</div>
<!--第二个下拉框-->
<div class="col-lg-2 col-md-3 col-sm-4 col-xs-6"
style="padding-bottom: 2px">
<div class="input-group input-group-sm">
<span class="input-group-addon">父级类别</span> <SELECT
class="form-control" name="parentCategoryId" id="parentCategoryId"
onchange="setParm(this.name, this.value)">
<OPTION value="">请选择</OPTION>
</SELECT>
</div>
</div>
我想实现的是选择第一个下拉框的材料或者产品的时候,会导致第二个下拉框显示不同的内容。注意第一个下拉框的id是categoryType,第二个下拉框的id是parentCategoryId.
3.写入如下js代码
$(function() {
//二级联动
$("#parentCategoryId").remoteChained("#categoryType", "parentCategoryListByCategoryType");
});
parentCategoryId和categoryType分别对应第二个和第一个下拉框的id,parentCategoryListByCategoryType是ajax获取数据的url。
4.接下来就是编写parentCategoryListByCategoryType的代码。
@ResponseBody
@RequestMapping("parentCategoryListByCategoryType")
public String parentCategoryListByCategoryType(int categoryType) {
JSONObject jsonObject = categoryService
.getRootCategoryListByCategoryType(categoryType);
return jsonObject.toString();
}
public JSONObject getRootCategoryListByCategoryType(int categoryType){
try {
List<TCategory>rootCategoryList=baseDao.findTListByParam("TCategoryMapper.selectRootCategoryByCategoryType", categoryType);
JSONObject jsonObject=new JSONObject();
for(TCategory category:rootCategoryList){
jsonObject.put(category.getCategoryId().toString(), category.getCategoryName());
}
return jsonObject;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
<select id="selectRootCategoryByCategoryType" resultMap="BaseResultMap"
parameterType="java.lang.Integer">
select
<include refid="Base_Column_List" />
from t_category
where is_del=0 and is_root=1
<if test="categoryId!=0">
and
category_type=#{categoryId,jdbcType=INTEGER}
</if>
order by sort_num
</select>
可以看到我们取得的数据是json格式的。这样便完成了二级级联的效果,多级级联只要在这个基础上按同样的方法做就可以了。
PS:应用的框架是ssm.
利用jquery.chained.remote实现多级级联的更多相关文章
- jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面 ...
- JQuery Easyui/TopJUI 创建多级联动下拉框(纯HTML实现!!!)
JQuery Easyui/TopJUI 创建多级联动下拉框(纯HTML实现!!!) 效果展示: 代码如下: <form data-toggle="topjui-form"& ...
- Form表单利用Jquery Validate验证以及ajax提交
#表单利用Jquery验证验证以及ajax提交 概述>详细讲解表单利用Jquery >验证验证以及ajax提交的过程,以及Validate的自定义提示语,非空判断,输入字段的远程ajax验 ...
- Banner中利用Jquery隐藏显示下方DIV块
实现方式1: <!DOCTYPE html><html><head> <meta charset="UTF-8"> &l ...
- 基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式
在基于MVC4+EasyUI的Web开发框架里面,大量采用了Jquery的方法,对数据进行请求或者提交,方便页面和服务器后端进行数据的交互处理.本文主要介绍利用Jquery处理数据交互的几种方式,包括 ...
- 基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录
最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...
- 利用Jquery的load函数实现页面的动态加载
利用Jquery的load函数实现页面的动态加载 js的强大功能相信大家都知晓,今天通过jquery的库函数load可以更加方便的实现页面的动态刷新,经过几天的研究与探索,终于有所成效!吾心甚蔚! ...
- 利用Jquery使用HTML5的FormData属性实现对文件的上传
1.利用Jquery使用HTML5的FormData属性实现对文件的上传 在HTML5以前我们如果需要实现文件上传服务器等功能的时候,有时候我们不得不依赖于FLASH去实现,而在HTML5到来之后,我 ...
- 利用jquery给指定的table动态添加一行、删除一行
转自:http://www.cnblogs.com/linjiqin/p/3148181.html $("#mytable tr").find("td:nth-child ...
随机推荐
- java面试扫盲:对象初始化顺序(真的未必能答对)
记录下面试里面遇到的一些java盲区,一方面扫描自己的知识盲区,一方面也可以给后面面试的朋友一些警示,以免面试的时候出现不知道的尴尬情况. 提出问题:父类静态属性,父类属性,父类构造方法,子类静态属性 ...
- Python 直接赋值、浅拷贝和深度拷贝全解析
直接赋值:其实就是对象的引用(别名,其实就是一个人今天叫张三 明天叫张狗子的意思).这个人比较自由单身狗嘛 可以恋爱可以分手 就是一个小屌丝. 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的 ...
- [转载] Java集合框架之小结
转载自http://jiangzhengjun.iteye.com/blog/553191 1.Java容器类库的简化图,下面是集合类库更加完备的图.包括抽象类和遗留构件(不包括Queue的实现): ...
- Google Python编程规范
http://pan.baidu.com/s/1dD1Ra7J 其他语言的编程风格: http://zh-google-styleguide.readthedocs.org/en/latest/
- 运行第一个 Service - 每天5分钟玩转 Docker 容器技术(96)
上一节我们创建好了 Swarm 集群, 现在部署一个运行 httpd 镜像的 service,执行如下命令: docker service create --name web_server httpd ...
- let和const命令
let命令 1.let用来声明变量,类似于var,但只在代码块内有效. { let a = 1; var b = 2; } console.log(a); //a is not defined con ...
- 泛型里的super和extend
<? extends T>和<? super T>应该怎么用? 网上看到一些比较难懂的回答,但是在EffectiveJava(2th Edition)遇到简单明了的解释: If ...
- Kaggle Challenge简要介绍
https://en.wikipedia.org/wiki/Kaggle 以下内容,直接摘自维基百科,主要起到一个记录的作用,提醒自己有时间关注关注这个竞赛. Kaggle is a platform ...
- 自理一遍android 高级知识
之后按目录得复习巩固 目录: 客卓高级知识整理 1 移动架构 1.1 素养与基础 1.1.1 主流设计模式 创建型 行为型 结构型 1.1.2 UML 1.1.3 设计原则 1.1.4 AOP架构 1 ...
- 个人笔记之json实现模糊查询
1:首先创建一个项目如:(说明:此项目是在eclipse创建的) 2.在创建相对应的包如: 3.创建写好相对应的配置文件如: applicationContext.xml具体内容如下: <?xm ...