easyUI的combobox实现级联

easyUI的combobox实现级联easyUI的combobox实现级联

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

先简单介绍下combobox:

easyUI重写了select,取而代之的是combobox,有如下几种方式可以创建一个combobox

1、使用select标签,并加上class=”easyui-combobox”,这种方式比较适用于静态的选项

2、使用input标签,并加上class=”easyui-combobox”,后面跟上data-options,可以用local或是remote方式加载数据

3、使用js方式,和2基本相同,只是把combobox一些属性的设置分离到了js中

下面是级联的思路:

combobox实现级联基本上和select类似,比如省份和城市的级联

当省份选完这个事件发生之后,城市的选择框里就会刷新数据,得到当前省份下的所有城市

那么关键点就是——》接收事件——》刷新第二级的选择框

combobox有提供onSelect这个事件点,且传入一个选中的记录rec,比如说我们可以取rec的主键rec.id(比如是浙江,id是29),那么我们可以拿到这个29去后台查询浙江省下的城市Json数据,这串Json就是需要放到城市combobox中的数据

那么开始动手吧:

<tr>
    <td>省份:</td>
    <td><input class="easyui-combobox" name=”province” data-options="
     	method:'get',
     	mode:'remote',
     	url:'test/getProvinceList',
     	onSelect:function(rec){
     		$('[comboname=city]').combobox('clear');
     		$('[comboname=city]').combobox('reload', 'test/getCityListByProvince?id=' + rec.id);
     	},
     	onLoadSuccess:function(){
     		var value = $(this).combobox('getValue');
     		if(value != ''){
    		<span style="white-space:pre">	</span>$('[comboname=city]').combobox('reload', 'test/getCityListByProvince?id=' + $(this).combobox('getValue'));
    			}
     	}
    	">
    </td>
    
    <td>城市:</td>
    <td><input class="easyui-combobox" panelHeight="auto" name="city" data-options="
     		prompt:'请先填入省份名称'
    	">
    </td>
</tr>

Jetbrains全家桶1年46,售后保障稳定


使用中可能碰到的问题:

1、为combobox指定name后,经过easyUI自己解析后,生成的combobox(也就是select)没有name这个属性,取而代之的是comboname,因为name要作为input的name。所以要根据name得到combobox要使用comboname

2、$(‘[comboname=city]’).combobox(‘clear’); 这一步也是必要的,不然combobox中之前选中的值将无法清除,比如之前选的是浙江–杭州(id为1),若此时更改省份变为江苏,那么若不加clear,此时城市则变成当前省份id为1的城市,也就是南京(id为1)。要是此id在对应省份无记录,那么就只会显示一个id,那么显然不是我们想看到的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201103.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TP框架整合Swagger UI接口文档

    TP框架整合Swagger UI接口文档

    2021年9月14日
    92
  • ip addr命令详解_ip命令详解

    ip addr命令详解_ip命令详解ipaddr命令的作用是在Linux系统上查询ip地址。命令效果如下:解析:lo(loopback)环回接口,常被分配到127.0.0.1,用于本机通信,经过内核处理后直接返回,不会在任何网络中出现。net_deviceflags:LOOPBACK,UP,表示网卡处于启动的状态LOWER_UP物理连接正常,就是网卡已经上电(物理指的是物理层)BROADCAST表示这个网卡有广播地址,可以发送广播包MULTICAST表示网卡可以发送多播包MTU1500是指什么意思呢?是哪一层的

    2022年7月27日
    6
  • oracle数据库基础教程_象棋初学者入门教程

    oracle数据库基础教程_象棋初学者入门教程https://www.cnblogs.com/kscnchina/p/4570865.html非常非常推荐这个教程

    2022年9月25日
    5
  • Sequelize多表联合查询案例

    Sequelize多表联合查询案例一、Table:现在有两个表,A和B,关联关系:MATCH表中的job_history_id与JOB_HISTORY表中的id相关联。二、需求:查询Match表中的user_id,report_comment,以及job_history_id所关联的JOB表中的job_link,在前端显示。三、Code:1.后端首先要建立两个表的关联:MatchScoreReportModel.belongsTo(JobHistoryModel,{foreignKey:’job_history

    2022年5月18日
    53
  • sql2005置疑数据库修复_sqlserver2008数据库可疑

    sql2005置疑数据库修复_sqlserver2008数据库可疑–修改数据库为紧急模式alterdatabaseP897A20_dbsetemergency–但用户模式alterdatabaseP897A20_dbsetsingle_user–修复数据库日至dbcccheckdb(P897A20_db,repair_allow_data_loss)–恢复多用户模式alterdatabaseP89

    2022年8月20日
    9
  • Linux下安装mysql-5.7.30详细步骤[通俗易懂]

    Linux下安装mysql-5.7.30详细步骤[通俗易懂]前言下面记录了我在Linux环境下安装Mysql的完整过程,实操记录,只为让更多人少踩坑,本次安装版本为:mysql-5.7.30,64位操作系统官网下载地址:mysql-5.7.30-el7-x86_64.tar.gz1、安装前准备检测系统是否自带mysql[root@localhost/]#rpm-qa|grepmysql如果是,则使用下面命令进行删除:[root@localhost/]#rpm-e–nodeps‘上一步查找的名称’删除成功后,查询所

    2022年5月8日
    124

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号