easyui combobox java_Easyui的combobox实现动态数据级联效果

实现从数据库中动态获取对应的list集合,并在easyui的combobox中显示出来。

实现的效果如下:

81d6b5c59451bc27ff96bf4b1c257108.png

f34d2d9a3632307302fa267b7b175cc0.png

12bd64e3ec8180522404ab8e822c4910.png

1、数据库的表设计如图所示

fdcceafedf199cce78e46f717c69d1a7.png

2、数据库中填写相关的数据,如图所示。如图所示【法律法规】是所属栏目,因此他的字段parentid是0。【中国公民出国】、【内地居民往来港澳】是属于法律法规的类别。因此他们的字段parentid是对应1,【法律法规】的字段categoryid是1.

7b68f79d4c5a2e04026880720bea7ae3.png

3、相关的配置:已经在前面的博客中写了

这里就不多写。只把关键代码贴出来。

4、对应的action代码

package crj.portal.web.management.action;

import java.io.ioexception;

import java.util.list;

import javax.servlet.http.httpservletrequest;

import javax.servlet.http.httpservletresponse;

import net.sf.json.jsonarray;

import net.sf.json.jsonobject;

import net.sf.json.jsonconfig;

import org.apache.log4j.logger;

import org.apache.struts2.servletactioncontext;

import org.hibernate.criteria;

import org.hibernate.criterion.order;

import com.sun.tools.javac.util.log;

import crj.portal.web.management.model.cpersontypetbl;

import crj.portal.web.management.service.categoryservice;

import crj.portal.web.management.service.itemservice;

import crj.portal.web.management.service.userservice;

public class itemmanageaction {

logger log=logger.getlogger(this.getclass());

private string page;

private string rows;

private string lanmuid;

private itemservice itemservice;// 依赖注入

//下拉框--查询栏目

public string categorytbl() throws exception{

list list=itemservice.querylanmu();

this.tojsonarray(list);

return null;

}

//根据栏目的id 查询拥有的类别

public string leibie() throws exception{

list list=itemservice.queryleibie(lanmuid);

this.tojsonarray(list);

return null;

}

public string tojsonarray(list list) throws ioexception{

httpservletresponse response = servletactioncontext.getresponse();

httpservletrequest request = servletactioncontext.getrequest();

jsonarray json = jsonarray.fromobject(list);

log.info("json格式:" +json.tostring());

response.setcharacterencoding("utf-8");// 指定为utf-8

response.getwriter().write(json.tostring());// 转化为json格式

return null;

}

public string save() throws exception {

return this.alllist();

}

public itemservice getitemservice() {

return itemservice;

}

public void setitemservice(itemservice itemservice) {

this.itemservice = itemservice;

}

public string getpage() {

return page;

}

public void setpage(string page) {

this.page = page;

}

public string getrows() {

return rows;

}

public void setrows(string rows) {

this.rows = rows;

}

public userservice getuserservice() {

return userservice;

}

public void setuserservice(userservice userservice) {

this.userservice = userservice;

}

public categoryservice getcategoryservice() {

return categoryservice;

}

public void setcategoryservice(categoryservice categoryservice) {

this.categoryservice = categoryservice;

}

public string getlanmuid() {

return lanmuid;

}

public void setlanmuid(string lanmuid) {

this.lanmuid = lanmuid;

}

}

5、对应的接口代码

public interface itemservice {

//下拉框--查询栏目

public list querylanmu() throws exception;

//下拉框--查询类别

public list queryleibie(string ids) throws exception;

}

6、对应的接口实现类代码

public class itemserviceimpl implements itemservice {

logger log = logger.getlogger(this.getclass());

private sessionfactory sessionfactory;

//下拉框--查询栏目

public list querylanmu() throws exception {

criteria criteria=this.sessionfactory.getcurrentsession().createcriteria(categorytbl.class);

criteria.add(restrictions.eq("parentid", 0));

criteria.addorder(order.asc("categoryid"));

return criteria.list();

}

//下拉框--查询类别

public list queryleibie(string ids) throws exception {

int i=integer.parseint(ids);

criteria criteria=this.sessionfactory.getcurrentsession().createcriteria(categorytbl.class);

criteria.add(restrictions.eq("parentid", i));

criteria.addorder(order.asc("categoryid"));

return criteria.list();

}

public sessionfactory getsessionfactory() {

return sessionfactory;

}

public void setsessionfactory(sessionfactory sessionfactory) {

this.sessionfactory = sessionfactory;

}

}

7、对应的jsp代码

string path = request.getcontextpath();

%>

信息管理

/* 初始化下载表格信息 */

$(function() {

// 下拉框选择控件,下拉框的内容是动态查询数据库信息

$('#lanmu').combobox({

url:'itemmanage!categorytbl',

editable:false, //不可编辑状态

cache: false,

panelheight: 'auto',//自动高度适合

valuefield:'categoryid',

textfield:'categoryname',

onhidepanel: function(){

$("#leibie").combobox("setvalue",'');

var lanmuid = $('#lanmu').combobox('getvalue');

$.ajax({

type: "post",

url: "itemmanage!leibie?lanmuid="+lanmuid,

cache: false,

datatype : "json",

success: function(data){

$("#leibie").combobox("loaddata",data);

}

});

}

});

$('#leibie').combobox({

//url:'itemmanage!categorytbl',

editable:false, //不可编辑状态

cache: false,

panelheight: 'auto',//自动高度适合

valuefield:'categoryid',

textfield:'categoryname'

});

});

所属栏目:

类别:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么应该默认将 Class 设为密封类?

前言最近在 dotnet/sdk 上看到一个 Issue,它提出了一个有趣的要求:默认情况下将类设置为密封类(Sealed)?什么是密封类?默认情况下,类是开放的,这意味着它是可以被继承的。例如:class BaseClass …

Spring工具类的使用

2019独角兽企业重金招聘Python工程师标准>>> Spring-core中提供了大量的工具类,常用的有StringUtils、ObjectUtils、NumberUtils、Base64Utils等,Spring工具类在spring-core.jar中的org.springframework.util包下。 org.springframework.util…

python作业高级FTP(第八周)

作业需求: 1. 用户加密认证 2. 多用户同时登陆 3. 每个用户有自己的家目录且只能访问自己的家目录 4. 对用户进行磁盘配额、不同用户配额可不同 5. 用户可以登陆server后,可切换目录 6. 查看当前目录下文件 7. 上传下载文件,保证文件一致性 8…

java用log.i打印数组_java-使用JSCH将ssh日志打印到列表(android)

我一直试图通过将包含我目录名称的log.i字符串值添加到数组中,然后使用数组适配器通过listView打印它们,来在listView中的目录中打印项目.但是,当我尝试运行该应用程序时,它将打印包含目录名称的日志,但不会在listView上打印任何内容.有什么帮助吗?这是我的代码&…

Edge 浏览器被爆存在 XSS 绕过漏洞

来自知名安全测试套件Burp Suite厂商PortSwigger的安全专家Gareth Heyes近日在微软Edge浏览器的内置XSS过滤器存在绕过漏洞,这就意味着尽管微软在Edge浏览器中进行了大量的安全策略部署,但用户浏览网页的时候依然有可能让攻击者通过这种方式在Edge浏览器…

来了!十大更新

面向 Windows 10 正式版用户,微软发布了 2022 年 10 月更新。Windows 10 版本 21H1 更新后操作系统内部版本升级至 Build 190432130/2132(带外更新)。Windows 10 版本 21H2 更新后操作系统内部版本升级至 Build 19044.2130/2132(带…

使用ansible 批量分发SSH Key

先确保你电脑有ansible,我是mac的用brew安装,其他可用yum安装brew search ansiblebrew install ansible我已经安装好2.7了生成下自己的key,一路回车ssh-keygen -t rsa编辑host,添加需要增加ssh key的机器vi /etc/ansible/hosts【hostgroup】我…

使用Git简单笔记

这里只是作为简单的笔记整理,第一次使用的推荐先看一下廖大的教程,内容很多很细,可以边看边练、看不懂的地方先记着、争取七七八八看下来。 心情不佳的分割线 廖雪峰的git教程: https://www.liaoxuefeng.com/wiki/001373951630592…

java中的path类_详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

简单看一下描述,例子最重要。1、getPath():返回定义时的路径,(就是你写什么路径,他就返回什么路径)2、getAbsolutePath():返回绝对路径,但不会处理“.”和“..”的情况3、getCanonicalPath():返…

部署站点支持Https访问的方法

1、申请公钥和私钥,放到服务器 2、编辑default配置文件 改为 加上证书路径 ps:泛域名支持admin.xxx.com、demo.xxx.com等等,而免费的Lets Encrypt仅支持www.xxx.com和xxx.com 整理自www.laravist.com转载于:https://www.cnblogs.com/lamp01/p/6952464.ht…

.NET Core Onvif协议C#教程系列之XiaoFeng.Onvif组件库

物联网IOT大背景下音视频领域的Onvif 协议在2008年成为全球性的开放接口标准。于是一批开发者涌入该技术领域使用各种编程语言对其改造升级封装。因为是国际标准,所以规范内容比较多,物联网领域涉及又广,所以研究协议是一个很耗时间的一项工作…

php异常处理的深入

引出 如果你调一个类,调用时数据验证时报了个错,你会以什么方式返回 数组,布尔值? 数组这个可以带错误原因回来,那布尔值呢? 返回了个 false, 报错时把错误放在类变量里?还是专门用一个获取错误…

C# 跨平台的支付类库ICanPay

随着微软的开源,越来越多的项目支持跨平台,但是各种支付平台提供的类库,又老又不支持跨平台,吐槽下,尤其是微信,还有好多坑,于是ICanPay诞生了,今天就来讲ICanPay是什么,…

.NET CORE 下收发邮件之 MAILKIT

背景利用代码发送邮件在工作中还是比较常见的,相信大家都用过SmtpClient来处理发送邮件的操作,不过这个类以及被标记已过时,所以介绍一个微软推荐的库MailKit来处理。MailKit开源地址:https://github.com/jstedfast/MailKit需要邮…

【20181026T2】**图【最小瓶颈路+非旋Treap+启发式合并】

题面 【错解】 最大最小?最小生成树嘛 蛤?还要求和? 点分治? 不可做啊 写了个MST暴力LCA,30pts,140多行 事后发现30分是给dijkstra的 woc 【正解】 树上计数问题:①并查集②启发式合并③点分治 …

java实现关键词云_Java synchronized 关键词详细说明

Java synchronized 关键词详细说明外置专业技能点系统进程和进程的定义进程建立方法进程的情况情况变换线程安全的定义synchronized 关键词的几类使用方法装饰非静态数据组员方式synchronized public void sync(){}装饰静态数据组员方式synchronized public static void sync()…

损失函数(Loss function) 和 代价函数(Cost function)

1损失函数和代价函数的区别: 损失函数(Loss function):指单个训练样本进行预测的结果与实际结果的误差。 代价函数(Cost function):整个训练集,所有样本误差总和(所有损失函数总和)的平均值。(这一步体现在propagate()…

Hadoop/HDFS命令

Hadoop中文手册:http://hadoop.apache.org/docs/r1.0.4/cn/commands_manual.html 英文手册:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/CommandsManual.html Hadoop fs命令 hadoop fs: 该命令可以用于其他文件系统&#x…

《Node.js 入门系列》—— 一些简单的排错方法(一)

目录 TypeError: undefined is not a functionTypeError: Cannot read property xxx of undefined 或者 TypeError: Cannot read property xxx of null检查变量是未赋值检查函数是否有返回值检查变量是否引用了某个对象不存在的属性检查调用函数时是否未该传递参数俗话说“常在…

内置IOC容器ServiceCollection

.NetCore内置IOC容器ServiceCollection一、IOC介绍IOC:全名(Inversion of Control)-控制反转IOC意味着我们将对象的创建控制权交给了外部容器,我们不管它是如何创建的,我们只需要知道,当我们想要某个实例时,我们可以直…