Extjs之combobox联动
Ext.Loader.setConfig({
enabled : true
});
Ext.Loader.setPath('Ext.ux', '../extjs/ux');
Ext.require([ 'Ext.form.*', 'Ext.data.*', 'Ext.grid.Panel' ]);
Ext.onReady(function() {
Ext.QuickTips.init();
var bodyWidth;
var bodyHeight;
var panelWidth = bodyWidth;
var panelHeight = bodyHeight;
Ext.define('com_data', {
extend: 'Ext.data.Model',
fields: [ 'id', 'name' ]
});
var com1_store = Ext.create('Ext.data.Store', {
autoDestroy: true,
fields: ['com1id','com1name'],
data: [{
'com1id':"1",
'com1name':"北京"
},{
'com1id':"2",
'com1name':"河北"
},{
'com1id':"3",
'com1name':"内蒙古"
}]
});
var com2_store = Ext.create('Ext.data.Store', {
autoDestroy: true,
model: 'com_data'
});
var myPanel = Ext.create('Ext.panel.Panel', {
id: 'myPanel',
name: 'myPanel',
width: panelWidth,
height: panelHeight,
title: 'Extjs嵌入html',
bodyPadding: '10 10 10 10',
items: [{
xtype: 'combobox',
id: 'com1',
name: 'com1',
store: com1_store,
valueField: 'com1id',
displayField: 'com1name',
queryMode: 'local',
fieldLabel: '请选择地区',
width: 200,
labelWidth: 100,
listeners: {
change: function(){//匿名函数
var com1id = Ext.getCmp("com1").getValue();
com2_store.removeAll(false);
if(com1id == "1"){
var data1 = Ext.create('com_data', {
id: '1',
name: '海淀区'
});
com2_store.add(data1);
var data2 = Ext.create('com_data', {
id: '2',
name: '朝阳区'
});
com2_store.add(data2);
var data3 = Ext.create('com_data', {
id: '3',
name: '丰台区'
});
com2_store.add(data3);
} else if(com1id == "2"){
var data1 = Ext.create('com_data', {
id: '1',
name: '石家庄'
});
com2_store.add(data1);
var data2 = Ext.create('com_data', {
id: '2',
name: '保定市'
});
com2_store.add(data2);
var data3 = Ext.create('com_data', {
id: '3',
name: '邯郸市'
});
com2_store.add(data3);
} else if(com1id == "3"){
var data1 = Ext.create('com_data', {
id: '1',
name: '呼和浩特市'
});
com2_store.add(data1);
var data2 = Ext.create('com_data', {
id: '2',
name: '赤峰市'
});
com2_store.add(data2);
var data3 = Ext.create('com_data', {
id: '3',
name: '包头市'
});
com2_store.add(data3);
} else {
//空
}
}
}
}, {
xtype: 'combobox',
id: 'com2',
name: 'com2',
store: com2_store,
valueField: 'id',
displayField: 'name',
queryMode: 'local',
fieldLabel: '请选择城市',
width: 200,
labelWidth: 100
}]
});
myPanel.render(document.body);
Ext.onDocumentReady(function() {
//gridstoreLoad();
});
window.onresize=function(){
bodyHeight = window.innerHeight?(window.innerHeight<600?600:window.innerHeight):document.documentElement.clientHeight;
bodyWidth = window.innerWidth?window.innerWidth:document.body.offsetWidth;
};
});
上面的方式是通过选择下拉框1的值改变下拉框2的值,在下拉框1改变时通过store的add方法添加下拉框2要显示的值,也可以通过获得下拉框1的值使用store的load的方法到后台查找下拉框2要显示的值。
效果:

Extjs之combobox联动的更多相关文章
- ExtJs 之 ComboBox级联使用
刚接触ExtJs不到一周,项目使用ExtJs框架,有个版块用到了combobox的级联(两级),遇到了一系列的问题,两天来一直查API.网络资料,终于解决了. 先列出遇到的一系列问题(也许你也遇到过! ...
- Extjs4 Combobox 联动始终出现loading错误的解决的方法
当反复选者combobox 联动时,下级的Combobox 会出现loading的错误表现形式,尽管Store数据已载入完也是一样. 废话少说贴代码就知道怎样处理了:(注意红色部分的关键语句) }, ...
- vs2013+MVC3.0+EasyUI的ComboBox联动使用(二)
vs2013+MVC3.0+EasyUI的ComboBox联动使用(二) 简单介绍:在vs2013(.net4.0)中使用MVC3.0对于EasyUI中ComboBox的联动使用. 载入Comb ...
- Extjs学习笔记(-):ComboBox联动
http://www.cnblogs.com/wumin97136/archive/2007/12/24/1012720.html http://examples.ext.net/ http://ex ...
- Extjs 让combobox写起来更简单
也已经写了很久时间的extjs ,每次都用到很多的combobox,配置很多东西觉得实在是太麻烦,所以根据常用到的情况写了一个简便的combobox,再次记录下来,以免放在某个地方忘记了找不到了. 定 ...
- Ext 4.2以后版本 ComboBox 联动
//combox树 ComboTree: function (upDep, empStore) { var com = Ext.create('Ext.ux.desktop.ComboTree', { ...
- C# Combobox联动
接上一篇博文,对界面做一个小修改,做4个combobox,形成窗口之间的联动: 界面如下: 选择combobox里的条件,单击查询获取数据 首先连接数据库,获取到数据到第一个combobox里,代码在 ...
- TopJUI Combobox 联动
这里给联动进行一个简单定义:因Combobox选择或输入的值发生改变时对自身或者其它组件产生影响称为联动.(注:editable确定是否可以手动输入) 有两种实现方法: 一.自己写对应的onChang ...
- Extjs 中combobox下拉框初始化赋值
近日在工作中遇到一个需求,要求页面初始化的时候给dataGrid表插入一条数据. 前端使用的是Extjs框架,dataGrid表有四列,其中三列是类型为textbox,普通文本框,另外一列类型是com ...
随机推荐
- 【转】 Linux IIO子系统分析-1-概述
原文网址:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=20543672&id=2976189 最近稍微看了下LKML ...
- 《程序设计中的组合数学》——polya计数
我们在高中的组合数学中常常会碰到有关涂色的问题,例如:用红蓝两种颜色给正方形的四个顶点涂色,会有几种不同的方案.在当时,我们下意识的认为,正方形的四个顶点是各不相同的,即正方形是固定的.而实际上我们知 ...
- SQL中的case when then else end用法
--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' ...
- C++ —— 构建开源的开发环境
目录: 1.开源环境的选择:IDE+编译器 2.构建步骤 1.开源环境的选择:IDE+编译器 在这里选择都是发布在GPL license 下的工具:codeblocks 和 gnu gcc codeb ...
- PHP学习之[第11讲]新浪微博开放平台 PHP 与 OAuth 接口(1)
我是下载的微博最新的API练习了一下认证过程.
- Android FastJson解析
1.导包 compile 'com.alibaba:fastjson:1.2.21' public static final Object parse(String text); // 把JSON文本 ...
- 限制 UITextField 输入长度
限制 UITextField 输入长度 标签(空格分隔): UITextField UITextField 是 iOS 中最经常使用的组件之中的一个.关于它也有各种各样的需求,这些需求是它本身没有提供 ...
- [PWA] 15. Using The IDB Cache And Display Entries
We want to use IDB to store the wittr messages. The logic is when the page start: service worker wil ...
- [C++] [算法] KMP算法
KMP串匹配算法是一个经典的算法. 传统BF算法是传统的字符串匹配算法.很好理解.叶实现.但时间复杂度太高. 本文将从字符串模式字符串被称为.为了匹配字符串被称为主弦. KMP配时能够少移动从串的位置 ...
- Qt 学习之路 :访问网络(4)
前面几章我们了解了如何使用QNetworkAccessManager 访问网络.在此基础上,我们已经实现了一个简单的查看天气的程序.在这个程序中,我们使用QNetworkAccessManager进行 ...