EasyUI用来实现后台界面还是可以的,毕竟面对的是小众群体而非广大的用户,简单为美。这里想聊的功能是一种下拉框的联动,比如我选中了下拉框A的某一项,那么下拉框B的选项就是甲乙丙丁,如果我选了A的另一项,那么B的选项就是ABCD,甚至不是一个下拉框了,而是一个文本框。直接看图吧:

  这里的评测类型有3个选项:

  当评测类型为“内部评测”时,评测人名称为一个邮箱地址

  当评测类型为外部评测时,评测人名称也是一个下拉框,选项包括:A9评测、tina、丽娜等

  当评测类型为邮件营销时,评测人名称还是一个下拉框,选项包括:Hyuna、Lynn等

  好了,看完效果,我们来看下实现:

  html添加easyUI的下拉框组件combobox给评测类型,评测人名称用textbox:

        <div class="fitem"><label>评测类型:</label><select class="easyui-combobox" name="testType" id="testType" style="width: 40%"required data-options="editable:false,panelHeight:'auto'"></select></div><div class="fitem"><label>评测人名称:</label><input id="testName" name="testName" class="easyui-textbox"></div>

  js里定义评测类型的下拉框选项,动态生成评测人名称:

    var testTypes = [{id: '1', value: '内部评测'},{id: '2', value: '外部评测'},{id: '3', value: '邮件营销'}];var serivceProviders = [{id: '1', value: 'A9评测'},{id: '2', value: 'tina'},{id: '3', value: '丽娜'}];var submiters = [{id: '1', value: 'Hyuna'},{id: '2', value: 'Lynn'];$('#testType').combobox({valueField: 'id',textField: 'value',data: testTypes,onSelect: function (data) {var bingGo = data.id;if (bingGo != null && bingGo != "") {if (bingGo == '1') {$('#testName').textbox({prompt: 'Enter a email address...',validType: 'email'});$('#testName').textbox('clear');} else if (bingGo == '2') {$('#testName').combobox({valueField: 'id',textField: 'value',panelHeight: 'auto',editable: false,data: serivceProviders});} else {$('#testName').combobox({valueField: 'id',textField: 'value',panelHeight: 'auto',editable: false,data: submiters});}}}});

  我们看上面js的处理,先定义好下拉框选项值,接着指定评测类型的下拉框属性,在页面加载时执行;然后定义评测类型的onSelect事件,当它选中不同的选项值时去动态生成不同的评测人名称。这里注意下,combobox这个组件必须指定选项的key和value,它要跟你的选项对应上。我这里是用的是id和value,也就是我的选项数组testTypes里指定的key值。默认值是value和text,就是说,如果不指定这两个属性,那么下拉框选项数组里的key就应该用它们俩:

  panelHeight指定下拉框的高度,‘auto'是让它根据选项值自动适应;editable指定下拉框是否可编辑,false为不可编辑。当然你的选项值也可以调后台接口获取,比如我的评测类型通过getTestTypes这个url去后台查询后返回获得:

$('#testType').combobox({url: '/getTestTypes',valueField: 'id',textField: 'value',onLoadSuccess: function (none) {$('#testType').combobox('select', "All")}});

  注意后台返回的json里依然要指定id和value,返回的内容应该类似testTypes数组。上面给了个默认值All,这是在从后台调用成功后添加的选项,它的id也是All。

转载于:https://www.cnblogs.com/wuxun1997/p/10904641.html

EasyUI下拉框级联相关推荐

  1. 级联查询ajax,Jquery+Ajax下拉框级联查询

    Jquery代码 $(function(){ //提交事件 $("#ImageButton1").click(function(){ //省Id var provinceId=$( ...

  2. axure 如何设置选项联动_Axure下拉框级联操作

    现实生活中有很多的下拉框是级联操作的,即因为第一个下拉框的选择,影响到后面的下拉框的选择的列表的数据.或许在代码中,这些操作相对比较简单,通过前一个下拉框的选择项来控制后一个下拉框的数据的动态添加.那 ...

  3. Axure下拉框级联操作

    现实生活中有很多的下拉框是级联操作的,即因为第一个下拉框的选择,影响到后面的下拉框的选择的列表的数据.或许在代码中,这些操作相对比较简单,通过前一个下拉框的选择项来控制后一个下拉框的数据的动态添加.那 ...

  4. easyui下拉框option写死_JavaScript_jQuery+easyui中的combobox实现下拉框特效,1.第一种写法:Input框中显示: - phpStudy...

    jQuery+easyui中的combobox实现下拉框特效 1.第一种写法:Input框中显示: 2. 第二种用法,在list列表中显示: 类别 3. 第二种的另一种写法: 类别 以上3种方法均可实 ...

  5. easyui下拉框值改变

    EasyUI在web开发中常用到, 下拉框是表单元素的一种, <select id="consumerType" name="consumerType" ...

  6. jquery easyui下拉框多选 和原生多选下拉多选

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. easyui下拉框option_js和jQuery以及easyui实现对下拉框的指定赋值实例分享

    本文主要为大家分享一篇js和jQuery以及easyui实现对下拉框的指定赋值方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧,希望能帮助到大家. js实现: 1. 通过让第i个o ...

  8. easyUI下拉框默认选中和联动、内容回显

    <td><input id="Area" name="Area" type="text" style="widt ...

  9. Ext2 常见界面界面(grid分页、窗口布局、下拉框级联)

    先上图 这中间遇到grid分页和下拉comboBox级联(用户.地域) 源代码如下: /**//*  * Ext JS Library 2.0.2  * Copyright(c) 2006-2008, ...

最新文章

  1. Dubbo中基于权重的随机算法
  2. 基于阿里云镜像源使用kubeadm安装k8s单master节点集群(v1.17.3)
  3. 微服务架构 接口交互问题_架构师的故事:设计微服务架构
  4. Tornado帮助文档组织(zt)
  5. Java ASM与Javassit
  6. Android串口通信实例分析【附源码】
  7. 关于Django中的数据库操作API之distinct去重的一个误传
  8. rundll32的使用和使用c#调用dll
  9. IdentityServer Topics(6)- Windows身份验证
  10. 项目实战 五 拟合直线 获得中线
  11. Ubuntu切换阿里源
  12. flashFXP V4.0 烈火汉化绿色版
  13. 百度地图高德地图谷歌地图腾讯地图商家数据采集
  14. Vant IndexBar 在小程序中的简单使用
  15. 【MySQL数据库】笔试题总结
  16. Python爬虫解析当红网剧之《我是余欢水》
  17. nestjs listen EADDRINUSE: address already in use :::3000
  18. unity网络实战开发(丛林战争)-前期知识准备(004-开发TCP客户端的接收数据和发送数据)
  19. 操作系统的接口与实现
  20. 驾校预约系统mysql_基于jsp+mysql+Spring+mybatis的SSM驾校预约管理系统

热门文章

  1. cordova自定义android插件,Cordova 自定义插件(Android版本)
  2. MySQL约束课堂笔记
  3. 一次共享内存引起的线上事故分析
  4. 内核中用于数据接收的结构体struct msghdr以及iovec介绍
  5. Python文件读写时的换行符与回车符
  6. Python Demo 04-蒙特卡罗猜测与计时
  7. 运行报错error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'
  8. livy提交任务报错com.cloudera.livy.shaded.kryo.kryo.KryoException: Unable to find class: GATest.ConJob
  9. 缓存穿透、缓存雪崩、redis并发
  10. Spark action算子案例