首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

EXTjs学习札记(2)

2012-11-20 
EXTjs学习笔记(2)动起来的Combobox?1. 创建一个html!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transi

EXTjs学习笔记(2)

动起来的Combobox

?

1. 创建一个html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK"><title>Insert title here</title><link rel="stylesheet" type="text/css" href="css/resources/css/ext-all.css" /><script type="text/javascript" src="js/adapter/ext/ext-base.js"></script><script type="text/javascript" src="js/ext-all.js"></script><script type="text/javascript" src="js/combobox.js"></script></head><body>ComboBox Test</body></html>

?

?

2. 创建生成combobox的js

Ext.onReady(function() {     /**具体的数据存储*/   var cities=[   [1,"西安市"],   [2,"咸阳市"]    ];      var proxy1=new Ext.data.MemoryProxy(cities);      /**对内存记录的数据定义*/   var City=Ext.data.Record.create([   {name:"cid",type:"int",mapping:0},   {name:"cname",type:"string",mapping:1}   ]);      var reader1=new Ext.data.ArrayReader({},City);      /**数据的存储地,是数据和组件的纽带*/   var store1=new Ext.data.Store({proxy:proxy1,reader:reader1,autoLoad:true});var combobox=new Ext.form.ComboBox({renderTo:Ext.getBody(),triggerAction:"all",store:store1,displayField:"cname",valueFeild:"cid",mode:"local",emptyText:"请选择西安市"}); var btn3 = new Ext.Button({renderTo : Ext.getBody(),text : "获取Combox值",width : "200",handler: getComValue});function getComValue(){        Ext.MessageBox.alert("ComboxValue","实际值是:"        +combobox.getValue()+"显示值是:"+combobox.getRawValue())    };        });

?

小结:

上面的例子comobox的数据来源于自定义的数组。 组件的数据获取分以下步骤:

1.?proxy 目的就是分离数据的来源与展现。 无论数据时从文件或者远程接口或者自定义都有代理全权负责处理?

2. reader 目的是定义数据的结构,让数据规范化 是将零散数据规范化的工具,此处定义了数据的格式。

3. store 是对代理和reader的汇聚是与组件直接通信的 数据存储。

?

?

热点排行
Bad Request.