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

ext碰到一个很奇怪的有关问题store里的filter方法不能够很好的过滤l,n两个字母

2012-09-19 
ext碰到一个很奇怪的问题store里的filter方法不能够很好的过滤l,n两个字母在测试的过程中,发现store的filt

ext碰到一个很奇怪的问题store里的filter方法不能够很好的过滤l,n两个字母
在测试的过程中,发现store的filter方法对l,n这两个字母过滤的结果有问题
相关代码:
var filter_text = new Ext.form.TextFiled({......});
filter_text.on('keyup', function(e){ 
  store.filter('alias', filter_text.getValue(), true, false);
}
在测试时,发现在filter_text只输入l或者n时,显示出来的数据中,还包括alias字段为null的结果,但为什么别的字母能正常显示,这个确实有点迷糊?(在filter_text中不输入或者输入后清空,显示全部的数据)


用下面这种方法时,能很好的过滤,但又有新的问题出现,在filter_text中输入一些信息,然后清空,此时,alias字段为null的数据却显示不了了。(后台传过来的数据{alias:null})

不知道大家碰到这个问题了没有,有知道的大侠,恳请来分享下,在此先谢谢啦!

filter_text.on('keyup', function(e){ 
  store.filterBy(function(record,id){
var temp = record.data.alias;
//if(temp==null){
// return true; ----原本是想把这个加上能在输入清空后显示为null的数据,加上后,过滤的数据中一直 有为null的数据,---------纠结......
//}
if(temp!=null){
var temp2 = temp.toLowerCase();
//if(temp2.trim().length==0){
//return true;
//}
if(temp2.indexOf(filter_text.getValue().toLowerCase())!=-1){
return true;
}
  }
  return false;
},this);}

[解决办法]
//过滤store的记录。
store.filterBy(function(record, id) {
return Number(record.get("")) === Number(record.get("")) ? false : true;
});

[解决办法]
逻辑判断错误

热点排行