ExtJS 下拉框
ExtJS 下拉框
刚刚熟练了easyui控件的使用,又开始了现在的这个项目。这个项目是个半成品,前端使用的是Extjs控件,jsp中没有代码,就引用了很多的js。。。于是乎有种不知所措了呀。。。
说实话特别的不想去看那些代码,第一是不熟悉,第二是太乱没条理,还有一个原因界面连html不想看又不行,公司要做这个项目,你又不能跟公司领导说我不会,,所以还是硬着头皮看了一天。
大概了解后,就开始copy,past,将原模块中js原封不动的考到了jsp页面,于是乎就这样运行起来了,只不过调用的不是我自己的方法。后台业务简单啊,一会儿就把后台弄好了,然后将界面js中的url路径改为自己的。到现在为止,界面是有了,文本框下拉框也都出来了,界面也就这些控件。
extjs中文本框相对下拉框简单多了,下拉框涉及到赋值,是动态赋值还是静态赋值。下面就来介绍一下下拉框的这两种赋值。
1,静态赋值。如性别下拉框
代码如下:
new Ext.form.ComboBox({
name : 'usersex_id',
id : 'usersex_id',
hiddenName : 'usersex_id',
typeAhead : true,
triggerAction : 'all',
lazyRender : true,
mode : 'local',
store : new Ext.data.ArrayStore({
fields : ['value', 'text'],
data : [["1", '男'], ["2", '女']]
}),
valueField : 'value',
displayField : 'text',
emptyText : '请选择性别',
editable : false,
selectOnFocus : true,
width : 85
})
其中store项中data数组为下拉框的内容,emptyText为下拉框为空时提示的信息
显示结果如下图所示:
2,动态赋值
代码如下:
//获取数据
var userSexStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : '。。。。。。'
}),
reader : new Ext.data.JsonReader({}, [{
name : 'value'
}, {
name : 'communityname'
}]),
listeners : {
// 设置远程数据源下拉选择框的初始值
'load' : function(obj) {
}
}
});
userSexStore.load();
//下拉框
new Ext.form.ComboBox({
hiddenName : 'usersex_id',
name:'usersex_id',
id:'usersex_id',
emptyText : '请选择,,,',
triggerAction : 'all',
store : userSexStore,
displayField : 'text',
valueField : 'value',
mode : 'local', // 数据会自动读取,如果设置为local又调用了store.load()则会读取2次;也可以将其设置为local,然后通过store.load()方法来读取
editable : false,
anchor : '100%'
})
通过url返回的结果是“ [["1", '男'], ["2", '女']]”格式的数据,使用动态赋值时,一定要设置ComboBox的hiddenName属性,triggerAction:‘all’ 属性的作用下拉框多个值时选中一个其他的项不会丢失,不设置此属性其他项会丢失。
Extjs还在继续学习中,还是那句话就copy past吧,若只是想它难,那么它就真的难了,着手去做,做出来了也就不难了。
ExtJS中运用HTML5 Canvas简单例子
用ExtJS 4.0打造自己的Web桌面
ExtJS 的详细介绍:请点这里
ExtJS 的下载地址:请点这里
本文永久更新链接地址:
评论暂时关闭