可以用javascript的数组作为数据源,也可以用json作为数据源:

1.用javascript数组

var CountryCode = [
['93','Afghanistan(93)'],
['355','Albania (355)'],
['213','Algeria (213)'],
['684','American Samoa (684)'],
['376','Andorra (376)'],
['244','Angola (244)'],
.....
]

new Ext.form.ComboBox(...{
fieldLabel: 'Country Code',
name:'country_code',
forceSelection: true,
listWidth: 200,
store: new Ext.data.SimpleStore(...{
fields: ['value', 'text'],
data : CountryCode
}),
valueField:'value',
displayField:'text',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
allowBlank:false
})

2:用json作为数据源

var comboOptions = new Ext.data.JsonStore(...{
url:'myurl',
fields: ['id','name']});

comboOptions.load();

new Ext.form.ComboBox(...{
fieldLabel: 'Management Level',
name:'group_id',
forceSelection: true,
listWidth: 150,
store: comboOptions,
valueField:'id',
displayField:'name',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
selectOnFocus:true,
allowBlank:false
})

myurl输出的json数据格式如下:

[{"id":"1","name":"Super Admin"},{"id":"2","name":"Admin"}]

需要注意的是,如果返回的json数据有多列,需要在new JsonStore的时候,在fields一项中填写所有column的名字,否则不能填充combobox

  1. 第一种方式(这种方式,我在使用时,如果数据不是从后台传过来的就可以,如果是从后台传过来的就不行了,要使用第二种方式)、
  2. var CountryCode = [
  3. ['93','Afghanistan(93)'],
  4. ['355','Albania (355)'],
  5. ['213','Algeria (213)'],
  6. ['684','American Samoa (684)'],
  7. ['376','Andorra (376)'],
  8. ['244','Angola (244)']
  9. ]
  10. var checkupperson = new Ext.form.ComboBox({
  11. fieldLabel: '审核人',
  12. name:'checkupperson',
  13. forceSelection: true,
  14. listWidth: 200,
  15. store: new Ext.data.SimpleStore({
  16. fields: ['value', 'text'],
  17. data : CountryCode
  18. }),
  19. valueField:'value',
  20. displayField:'text',
  21. typeAhead: true,
  22. mode: 'local',
  23. triggerAction: 'all',
  24. selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
  25. allowBlank:false,
  26. listeners:{
  27. select:function(){
  28. alert(this.value);
  29. }
  30. }
  31. });
  32. checkupperson.on('beforerender',function(){
  33. this.value=376;
  34. });
  35. 第二种方式:
  36. var depCombo = new Ext.form.ComboBox({
  37. fieldLabel:'部门',
  38. allowBlank: false,
  39. allowNegative: false,
  40. triggerAction: 'all',
  41. displayField :'depName',
  42. valueField :'depId',
  43. id:'test',
  44. store: new Ext.data.JsonStore({
  45. fields: ['depId','depName'],
  46. url: '../combobox.do?action=getDepartmentComboBox',
  47. autoLoad : true,
  48. listeners :{
  49. load:function(){
  50. Ext.getCmp('test').setValue(17);
  51. }
  52. } //在此加一个这个玩意,就可以了,呵呵,是在jsonstore中加的,注意
  53. }),
  54. editable :false
  55. });
第一种方式(这种方式,我在使用时,如果数据不是从后台传过来的就可以,如果是从后台传过来的就不行了,要使用第二种方式)、
var CountryCode = [
['93','Afghanistan(93)'],
['355','Albania (355)'],
['213','Algeria (213)'],
['684','American Samoa (684)'],
['376','Andorra (376)'],
['244','Angola (244)']
]
var checkupperson = new Ext.form.ComboBox({
fieldLabel: '审核人',
name:'checkupperson',
forceSelection: true,
listWidth: 200,
store: new Ext.data.SimpleStore({
fields: ['value', 'text'],
data : CountryCode
}),
valueField:'value',
displayField:'text',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
allowBlank:false,
listeners:{
select:function(){
alert(this.value);
}
}
});
checkupperson.on('beforerender',function(){
this.value=376;
});
第二种方式:
var depCombo = new Ext.form.ComboBox({
fieldLabel:'部门',
allowBlank: false,
allowNegative: false,
triggerAction: 'all',
displayField :'depName',
valueField :'depId',
id:'test',
store: new Ext.data.JsonStore({
fields: ['depId','depName'],
url: '../combobox.do?action=getDepartmentComboBox',
autoLoad : true,
listeners :{
load:function(){
Ext.getCmp('test').setValue(17);
}
} //在此加一个这个玩意,就可以了,呵呵,是在jsonstore中加的,注意
}), editable :false
});
 
 
  1. 第三种方式:
第三种方式:
  1. bachLoad([xnStore,xqStore,jsStore], function(success){
  2. if (!success) {
  3. Ext.Msg.alert('提示', '数据加载失败,请联系系统管理员!');
  4. }else{
  5. xn = '${DQXN}';
  6. xq = '${DQXQ}';
  7. Ext.getCmp('cmb_xq').setValue('${DQXQ}');
  8. xqmc = Ext.getCmp('cmb_xq').getRawValue();
  9. }

extjs的combobox的用法的更多相关文章

  1. ExtJs 之 ComboBox级联使用

    刚接触ExtJs不到一周,项目使用ExtJs框架,有个版块用到了combobox的级联(两级),遇到了一系列的问题,两天来一直查API.网络资料,终于解决了. 先列出遇到的一系列问题(也许你也遇到过! ...

  2. ExtJS ComboBox的用法+代码

    Ext.onReady(function() { var store = Ext.create('Ext.data.Store', { autoLoad : true, fields : ['valu ...

  3. Extjs 让combobox写起来更简单

    也已经写了很久时间的extjs ,每次都用到很多的combobox,配置很多东西觉得实在是太麻烦,所以根据常用到的情况写了一个简便的combobox,再次记录下来,以免放在某个地方忘记了找不到了. 定 ...

  4. jquery,extjs中的extend用法小结

    在jquery中,extend其实在做插件时还是用的比较多的,今天同时小结jquery和ext js中 的extend用法,先来看jquery中的. 1)  extend(dest,src1,src2 ...

  5. Extjs之combobox联动

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

  6. Qt下拉对话框 ComboBox的用法

    介绍 ComboBox是Qt的下拉菜单的一个控件,通过下拉菜单选择不同的选项,样式如图: 基本用法 m_ComBox = ui.comboBox; //设置默认显示值的索引,从0开始 m_ComBox ...

  7. 实用ExtJS教程100例-006:ExtJS中Window的用法示例

    在前面几个示例中,我们演示了MessageBox的各种用法,今天这篇文章将演示如何使用Window. 我们首先来创建一个窗口: var win = Ext.create("Ext.windo ...

  8. WPF的ComboBox简单用法

    1. ComboBox:下拉列表框 效果如下: 2.通常用法是 显示内容 + 选中内容后获得的值(也就是 Name = Value的键值对) 故以键值对来定义一个类,如: public class C ...

  9. Extjs 中combobox下拉框初始化赋值

    近日在工作中遇到一个需求,要求页面初始化的时候给dataGrid表插入一条数据. 前端使用的是Extjs框架,dataGrid表有四列,其中三列是类型为textbox,普通文本框,另外一列类型是com ...

随机推荐

  1. IOS 应用中从竖屏模式强制转换为横屏模式

    在 iPhone 应用里,有时我们想强行把显示模式从纵屏改为横屏(反之亦然),CocoaChina 会员 “alienblue” 为我们提供了两种思路 第一种:通过人为的办法改变view.transf ...

  2. PetaPoco使用要点

    PetaPoco是一款适用于.Net 和Mono的微小.快速.单文件的微型ORM! 可以从这里获得PetaPoco: NuGet - http://nuget.org/List/Packages/Pe ...

  3. [ASP.Net]TableLayoutPanel的使用

    以前都是使用Panel.没有用过其他容器类.郁闷,要控制界面的自适应真是麻烦.平常用一用dock.anchor差不多了,但是,更复杂的情景下,就没法了.例如一行有多个控件,有的要求跟据窗口缩放,只缩放 ...

  4. 【阿里云产品公测】开放搜索服务 opensearch java jdk 应用体验之 机器人聊天

    作者:阿里云用户啊里新人 需求:基本实现智能聊天! 最近在开发一款机器人,希望实现基本的聊天功能,词库是有的,但是如果是做完全匹配这个出来的效果很悲催,   比如词库:你好,回答是:哈哈,很好啊. 如 ...

  5. Handsontable 学习笔记-Methods

    Handson: 亲自实践 先给出数据源和基本配置: var data =[ ["A1","B1","C1","D1"] ...

  6. 安卓Design包之CoordinatorLayout配合AppBarLayout,ToolBar,TabLaout的使用

    转载: CoordinatorLayout配合AppBarLayout,Toolbar和TabLayout的使用 控件的简单介绍: AppBarLayout:它是继承LinerLayout实现的一个V ...

  7. ASP.NET页面与IIS底层交互和工作原理详解(第三回)

    引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的类进 ...

  8. 重构23-Introduce Parameter Object(参数对象)

    有 时当 使用 一个 包含 多 个 参 数 的 方 法 时 , 由 于参 数 过 多 会 导 致 可 读 性 严 重 下 降 , 如 : 有 时当 使用 一个 包含 多 个 参 数 的 方 法 时 , ...

  9. http请求数据

    /// <summary>        /// http请求post数据        /// </summary>        /// <param name=&q ...

  10. oracle PL/SQL(procedure language/SQL)程序设计

    PL/SQL(procedure language/SQL)语言是Oracle对SQL语言的过程化扩充,是一个完整的编程语言.PL/SQL实现了过程化语句(如分支.循环等)与SQL语句的无缝连接,将过 ...