有一个select组件,和一个list组件。打开页面时,list显示所有数据,当select的change事件触发时,list中的数据随着所选条件改变,怎么实现?
解决方案 »
- window.onload() 居然比 body.onload()执行时间还早
- 能不能通过id找到一个hidden在table的哪一行
- 有没有哪位大侠用SVG的呀?用这个做电子地图??
- 求助代码上点一点疑问!请帮忙看看谢谢!!
- 求梅花雪的 treeview 代码
- 求一个子窗口关闭时触动父窗口里面的一个butoom
- 关于jquery $.each方法体内的IF方法只执行一次的问题
- 对于mvc模式,深度讨论其view层问题,所有javascript爱好者请进!!!!!!
- 一个非常棘手的问题,个人感觉超难,提供思路就有分
- 如何改变浏览器窗口大小
- 这条判断语句什么情况下会成立??
- 异步 循环 实时显示当前正在处理到那一条 问题 求大神
onReady:function(){
Ext.regModel('Contact',{
fields:['gender','name','age']
});
var data = [{gender:'男',name:'张三',age:22},
{gender:'女',name:'李丽',age:24},
{gender:'男',name:'李四',age:21},
{gender:'男',name:'王五',age:25},
{gender:'男',name:'赵六',age:23}]; var store =new Ext.data.JsonStore({
model:'Contact',
data:data
});
var list = new Ext.List({
store:store,
itemTpl:'姓名:{name} 性别:{gender} 年龄:{age}',
id:'list1'
});
var pnl = new Ext.Panel({
fullscreen:true,
dockedItems:[{
xtype:'toolbar',
items:[{
xtype:'selectfield',
name:'selGender',
options:[{
text:'性别',value:''
},{
text:'男',value:'男'
},{
text:'女',value:'女'
}],
listeners:{
change:function(item,value){
var list1 = Ext.getCmp('list1');
store.filter('gender',value);
list1.store=store;
list1.refresh();
}
}
}]
}],
items:[list]
});
}
});
store第一次过滤数据后,第二就拿不到完整的data了,而是第一次过滤的结果.有没有办法让它每次都是从完整的数据中进行过滤?
Ext.setup({
onReady:function(){
Ext.regModel('Contact',{
fields:['gender','name','age']
});
var data = [{gender:'男',name:'张三',age:22},
{gender:'女',name:'李丽',age:24},
{gender:'男',name:'李四',age:21},
{gender:'男',name:'王五',age:25},
{gender:'男',name:'赵六',age:23}]; var store =new Ext.data.JsonStore({
model:'Contact',
data:data
}); var list = new Ext.List({
store:store,
itemTpl:'姓名:{name} 性别:{gender} 年龄:{age}',
id:'list1'
});
var pnl = new Ext.Panel({
fullscreen:true,
dockedItems:[{
xtype:'toolbar',
items:[{
xtype:'selectfield',
name:'selGender',
options:[{
text:'性别',value:''
},{
text:'男',value:'男'
},{
text:'女',value:'女'
}],
listeners:{
change:function(item,value){
var list1 = Ext.getCmp('list1');
store.filterBy(function(record) {
return record.get('gender') ==value;
});
list1.store=store;
list1.refresh();
}
}
}]
}],
items:[list]
});
}
});