EasyUI下拉框级联
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。
EasyUI下拉框级联的更多相关文章
- [转]html 下拉框级联
<html> <head> <title>html 下拉框级联</title> <meta charset="UTF-8"/& ...
- layui select 下拉框 级联 动态赋值 与获取选中值
//下拉框必须在 class="layui-form" 里 不然监听事件没有作用 <div class="layui-form" > <div ...
- Jquery+Ajax下拉框级联查询
- Java easyui 下拉框默认选中第一个
html代码: <tr> <td> <div style="margin-bottom:5px">计价方式: <%--下拉框默认选中第 ...
- java 下拉框级联及相关(转)
ActionLintsner都实现此接口,其它监听器可以监听的事件都可以被它捕获 public interface ActionListener extends EventListenerThe li ...
- MVC+knocKout.js 实现下拉框级联
数据库:部门表和员工表 在控制器里面的操作: public ActionResult Index3() { ViewBag.departments = new SelectList(getDepart ...
- ajax,下拉框级联
js代码: $(document).ready(function() { $("#type1").change(function(){ var type1Code=$(" ...
- easyui下拉框过滤优化
项目中有个需求:编辑combobox的输入域会自动检索匹配项,当没有任何匹配项时,将combobox重置为初始状态. 处理方式:重写输入域的blur事件,判断当前值是否为加载的数据集的子集,如果不是则 ...
- 在easyui中如何修改combobox的下拉框的高度为自适应高度
在easyui中,有时候easyui下拉框的高度比较高,如果我们的值比较少,而下拉框的高度很高的话看起来不好看,修改前效果如下所示: 要修改下拉框的高度和我们的值自适应的 话,只要添加一个panelH ...
随机推荐
- osi七层网络模型(一)
在网络中OSI分为七层网络模型,怎么理解七层模型呢?简单理解我们的手机都有手机壳.屏幕.摄像头.电池.芯片等很多原件,每个原件都是由不同的 厂家生产,最终组装成了一部功能完整的手机,同样,在网络中,也 ...
- Codeforces Round #609 (Div. 2) D. Domino for Young
链接: https://codeforces.com/contest/1269/problem/D 题意: You are given a Young diagram. Given diagram i ...
- Jmeter与搜狗输入法、百度输入法不兼容问题解决方法
问题:Jmeter 3.3.4.0等版本与最新版搜狗输入法.百度输入法不兼容,输入法悬浮窗口无法实时显示出来. 解决方法:换用微软拼音输入法即可. 微软拼音输入法: 官方下载链接: https://w ...
- 数位DP【模板】
经典题型 数位 DP 问题往往都是这样的题型,给定一个闭区间 $[l, r]$,让你求这个区间中满足 某种条件 的数的总数. 强烈推荐 OI Wiki——数位DP 例题 BZOJ 1026 题目:wi ...
- 2019牛客多校B Beauty Values——思维题
题目 求所有子区间中不同元素之和. 分析 枚举相邻的相同数字形成的区间,计算它是哪些区间的子区间,每次有-1的贡献,将其从总贡献中减去. #include<bits/stdc++.h> u ...
- 异常:ORA-01013: 用户请求取消当前的操作
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/bnmnba/article/detail ...
- MySQL表结构,表空间,段,区,页,MVCC ,undo 事务槽
索引组织表(IOT表):为什么引入索引组织表,好处在那里,组织结构特点是什么,如何创建,创建IOT的限制LIMIT. IOT是以索引的方式存储的表,表的记录存储在索引中,索引即是数据,索引的KEY为P ...
- 在jsp页面,如何让一个button具有submit的功能
<input type=button value="提交" οnclick=submit()> <script language=javascript>fu ...
- [转]protobuf的编译安装
github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...
- ZR#998
ZR#998 解法: 先把所有物品按照拿走的时间从小到大排序,拿走的时间相同就按照放上去的时间从大到小.那么一件物品上方的物品就一定会在它的前面. 考虑 $ dp $ ,设 $ f[i][j] $ 表 ...