TopJUI Combobox 联动
这里给联动进行一个简单定义:因Combobox选择或输入的值发生改变时对自身或者其它组件产生影响称为联动。(注:editable确定是否可以手动输入)
有两种实现方法:
一、自己写对应的onChange、onSelect方法进行联动。这种方法灵活性强一些。
注意这两个方法的激发条件即可,尤其注意在数据赋值而激发的负面影响,会导致loadData事件失效。
详细可参考JQuery/EasyUI内的文档,较为全面。
二、调用框架内部内置的方法
以地区四级联动为例
<fieldset>
<legend>地址选择</legend>
</fieldset>
<div class="topjui-row">
<div class="topjui-col-sm6">
<label class="topjui-form-label">省</label>
<div class="topjui-input-block">
<input type="text" id="province" name="province" data-toggle="topjui-combobox"
data-options="valueField:'text',url:contextPath + '/common/_address.jsp?areaName=-1',
childCombobox:{ id:'city', url:contextPath + '/common/_address.jsp?areaName={parentValue}'}">
</div>
</div>
<div class="topjui-col-sm6">
<label class="topjui-form-label">市</label>
<div class="topjui-input-block">
<input type="text" id="city" name="city" data-toggle="topjui-combobox"
data-options="valueField:'text',
childCombobox:{ id:'county', url:contextPath + '/common/_address.jsp?areaName={parentValue}'}">
</div>
</div>
</div>
<div class="topjui-row">
<div class="topjui-col-sm6">
<label class="topjui-form-label">县/区</label>
<div class="topjui-input-block">
<input type="text" id="county" name="county" data-toggle="topjui-combobox" data-options="valueField:'text'">
</div>
</div>
<div class="topjui-col-sm6">
<label class="topjui-form-label">地址</label>
<div class="topjui-input-block">
<input type="text" id="street" name="street" data-toggle="topjui-textbox"
data-options="validType:'length[0,50]'">
</div>
</div>
</div>
childCombobox在onChange中激活,即值发生改变后会同步联动其相关联的组件,代码如下:
 if ("object" == typeof d.childCombobox) {
     var e = d.childCombobox,
         f = a("#" + e.id);
     if (f.combobox("setText", ""), f.combobox("setValue", ""), e.url) {
         var g = e.url.replace("{parentValue}", b);
         f.combobox("reload", g)
     }
 }
可以在此添加与其它组件间的联动,如添加对文本框的联动
 if ("object" == typeof d.childTextbox) {
     var e = d.childTextbox,
         f = a("#" + e.id);
     if (f.textbox("setText", ""), f.textbox("setValue", ""), e.url) {
         var g = e.url.replace("{parentValue}", b);
         $.getJSON(g, function (da) {
             f.textbox("setValue", da.text);
             f.textbox("setText", da.text);
         });
     }
 }
附:全国行政三级地区数据下载地址(四级过大)
CREATE TABLE `s_area` (
`areaId` int(20) NOT NULL COMMENT 'ID',
`areaCode` varchar(50) NOT NULL COMMENT ' 地区码',
`areaName` varchar(30) NOT NULL COMMENT '地区名称',
`level` tinyint(4) DEFAULT '-1' COMMENT '级别',
`cityCode` varchar(50) DEFAULT NULL COMMENT '电话区号',
`center` varchar(50) DEFAULT NULL COMMENT '经纬度',
`parentId` int(20) NOT NULL,
`zipCode` varchar(6) NOT NULL DEFAULT '' COMMENT '邮编',
`fullName` varchar(50) NOT NULL DEFAULT '' COMMENT '地址全称',
PRIMARY KEY (`areaId`,`parentId`,`areaName`),
KEY `areaCode` (`areaCode`),
KEY `parentId` (`parentId`),
KEY `level` (`level`),
KEY `areaName` (`areaName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='地区码表';
链接:https://pan.baidu.com/s/1gSnjtc1Yq1KovUB-j63KUw
提取码:mhdl
TopJUI Combobox 联动的更多相关文章
- vs2013+MVC3.0+EasyUI的ComboBox联动使用(二)
		 vs2013+MVC3.0+EasyUI的ComboBox联动使用(二) 简单介绍:在vs2013(.net4.0)中使用MVC3.0对于EasyUI中ComboBox的联动使用. 载入Comb ... 
- Extjs4 Combobox 联动始终出现loading错误的解决的方法
		当反复选者combobox 联动时,下级的Combobox 会出现loading的错误表现形式,尽管Store数据已载入完也是一样. 废话少说贴代码就知道怎样处理了:(注意红色部分的关键语句) }, ... 
- Ext 4.2以后版本 ComboBox 联动
		//combox树 ComboTree: function (upDep, empStore) { var com = Ext.create('Ext.ux.desktop.ComboTree', { ... 
- C# Combobox联动
		接上一篇博文,对界面做一个小修改,做4个combobox,形成窗口之间的联动: 界面如下: 选择combobox里的条件,单击查询获取数据 首先连接数据库,获取到数据到第一个combobox里,代码在 ... 
- Extjs之combobox联动
		Ext.Loader.setConfig({ enabled : true }); Ext.Loader.setPath('Ext.ux', '../extjs/ux'); Ext.require([ ... 
- TopJUI Combobox onSelect 事件失效BUG
		版本:2.2.8 onChange : function(b, c) 两个参数:当前选择后在Combobox中显示的数据,实际是textField:另一个是改变前的数据 onSelect : func ... 
- ComboBox联动 (AJAX BS实现)
		//从webservice中取数据ajax Ext.Ajax.request({ url: 'WebService.asmx/GetComboxFi ... 
- MaterialDesign Or ComboBox 联动查询
		<ComboBox Width="200" Height="30" x:Name="ComboxName" Text="{B ... 
- Extjs学习笔记(-):ComboBox联动
		http://www.cnblogs.com/wumin97136/archive/2007/12/24/1012720.html http://examples.ext.net/ http://ex ... 
随机推荐
- MUI框架-07-HBuilder+夜神安卓模拟器
			MUI框架-07-HBuilder+夜神安卓模拟器 有时候我们在 HBuilder 里面 web 浏览器预览我们的 MUI 项目界面时,总感觉这个 web 浏览器随便拖拉比例,大小可调,但它毕竟是浏览 ... 
- 安卓app开发-01-开发工具及环境配置
			安卓app开发-01-开发工具及环境配置 请大家根据推荐指数和自己的意愿选择 使用 Android Studio 1.可以使用 Android Studio 下载地址:http://www.andro ... 
- IDEA Properties中文unicode转码问题
			在IDEA中创建了properties文件,发现默认中文不会自动进行unicode转码.如下 在project settings - File Encoding,在标红的选项上打上勾,确定即可 效果图 ... 
- 在C#中internal、protected internal关键字是什么意思?
			internal:就是程序集. 那么什么是程序集呢?就是“项目”也就是工程里中的csproj 比如:我有个解决方案,这个方案中有2个项目,1个是控制台程序,1个是webapi项目,那么我这个解决方案中 ... 
- PHP中的trait方法冲突
			laravel使用中我们可能需要对User model使用softdelete这个功能,以便删除后还可以恢复,不幸的是entrust模块也有这个方法,两者产生冲突, 解决办法: https://lar ... 
- 加装固态硬盘SSD
			参考:http://tieba.baidu.com/p/4224078869 1.首先拆开后盖,取出机械硬盘,把固定框换到固态盘上,把机械盘安装到硬盘托架上. 装上固态硬盘,然后把光驱位的塑料壳子拆下 ... 
- MySQL 数据库 -- 数据操作
			数据的增删改 一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过 ... 
- lambdas vs. method groups
			Update: Due to a glitch in my code I miscalculated the difference. It has been updated. See full his ... 
- python源码学习(一)——python的总体架构
			python源码学习(一)——python的总体架构 学习环境: 系统:ubuntu 12.04 STLpython版本:2.7既然要学习python的源码,首先我们要在电脑上安装python并且下载 ... 
- Linux命令--网络管理
			write命令 Linux write命令用于传讯息给其他使用者. 使用权限:所有使用者. 语法 write user [ttyname] 参数说明: user : 预备传讯息的使用者帐号 ttyna ... 
