这里给联动进行一个简单定义:因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 联动的更多相关文章

  1. vs2013+MVC3.0+EasyUI的ComboBox联动使用(二)

     vs2013+MVC3.0+EasyUI的ComboBox联动使用(二) 简单介绍:在vs2013(.net4.0)中使用MVC3.0对于EasyUI中ComboBox的联动使用. 载入Comb ...

  2. Extjs4 Combobox 联动始终出现loading错误的解决的方法

    当反复选者combobox 联动时,下级的Combobox 会出现loading的错误表现形式,尽管Store数据已载入完也是一样. 废话少说贴代码就知道怎样处理了:(注意红色部分的关键语句) }, ...

  3. Ext 4.2以后版本 ComboBox 联动

    //combox树 ComboTree: function (upDep, empStore) { var com = Ext.create('Ext.ux.desktop.ComboTree', { ...

  4. C# Combobox联动

    接上一篇博文,对界面做一个小修改,做4个combobox,形成窗口之间的联动: 界面如下: 选择combobox里的条件,单击查询获取数据 首先连接数据库,获取到数据到第一个combobox里,代码在 ...

  5. Extjs之combobox联动

    Ext.Loader.setConfig({ enabled : true }); Ext.Loader.setPath('Ext.ux', '../extjs/ux'); Ext.require([ ...

  6. TopJUI Combobox onSelect 事件失效BUG

    版本:2.2.8 onChange : function(b, c) 两个参数:当前选择后在Combobox中显示的数据,实际是textField:另一个是改变前的数据 onSelect : func ...

  7. ComboBox联动 (AJAX BS实现)

    //从webservice中取数据ajax            Ext.Ajax.request({                url: 'WebService.asmx/GetComboxFi ...

  8. MaterialDesign Or ComboBox 联动查询

    <ComboBox Width="200" Height="30" x:Name="ComboxName" Text="{B ...

  9. Extjs学习笔记(-):ComboBox联动

    http://www.cnblogs.com/wumin97136/archive/2007/12/24/1012720.html http://examples.ext.net/ http://ex ...

随机推荐

  1. Linux命令行bash批量重命名文件

    本文介绍下,在linux下使用shell批量重命名文件的例子,有需要的朋友参考下吧. 在linux中,重命名文件名,需要用到mv命令.如果需要批量重命名名一批文件,就需要写bash脚本或命令行了. 例 ...

  2. 毕向东_Java基础视频教程第20天_IO流(15~17)

    第20天-15-IO流(打印输出流) 打印输出流:PrintWriter与PrintStream 两者的区别:Since JDK 1.4 it's possible to specify the ch ...

  3. Azure 中部署WordPress的方法

    一.Azure 中创建WordPress虚拟机(1).登陆Azure:打开Azure 官网,点击右侧上方的登陆Azure门户,输入Azure帐号与密码,点击 登陆 . (2).创建Wordpress虚 ...

  4. Azure Linux 虚机上配置 RAID 的常见问题及解决方案

    简介 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),简称磁盘阵列.能增强数据集成度,增强容错功能,增加处理量或容量.详情参见这篇文章. 配置 ...

  5. 微信开发——微信公众平台实现消息接收以及消息的处理(Java版)

    本文主要讲述了如何在微信公众平台实现消息接收以及消息的处理,使用java语言开发,现在把实现思路和代码整理出来分先给兄弟们,希望给他们带来帮助. 温馨提示: 这篇文章是依赖前几篇的文章的. 第一篇:微 ...

  6. maven dependendency

    登录|注册     zhengsj的专栏       目录视图 摘要视图 订阅 [公告]博客系统优化升级     [收藏]Html5 精品资源汇集     博乐招募开始啦       Maven De ...

  7. Java学习---JBPM[工作流]学习

    点击参考 更多参考 链接:https://pan.baidu.com/s/1A1AH5sXu7yhV3mncpH4Z6w 密码:88zw

  8. Java学习---JFreeChart动态图表

    JFreeChart是Java中开源的制图组件,主要用于生成各种动态图表.在Java的图形报表技术中,JFreeChart组件提供了方便.快捷.灵活的制图方法.作为一个功能强大的图形报表组件,JFre ...

  9. 《C++ Primer Plus》读书笔记之四—分支语句和逻辑操作符

    第六章 分支语句和逻辑操作符 1.&&的优先级低于关系操作符. 2.取值范围:取值范围的每一部分都使用AND操作符将两个完整的关系表达式组合起来: if(age>17&& ...

  10. 二、并行编程 - Task任务

    任务,基于线程池.其使我们对并行编程变得更简单,且不用关心底层是怎么实现的.System.Threading.Tasks.Task类是Task Programming Library(TPL)中最核心 ...