论坛首页 Web前端技术论坛

ext grid 关于数字的过滤

浏览 1565 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (7) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-12-20   最后修改:2009-12-20
   在上一篇文章(解决ext grid过滤问题)中我以为已经解决了所有的过滤问题,但是过了几天才发现,关于数字的过滤还不自动清除,所以经过对过滤源文件NumericFilter.js的调试,发现serialize这个方法出问题了,当有需要过滤的数字时它会通过
for(var key in values)
  args.push({type: 'numeric', comparison: key, value: values[key]});

这个循环向args数组对象中赋值,从而在过滤主文件GridFilters.js中的getFilterData方法中的var d = [].concat(f.serialize());这个段代码,d的length才可以不为0,进行下面for循环的赋值。

   但是当清除数字的过滤后,在NumericFilter.js中就不会走那个for循环,从而ars为null,故在GridFilters.js中就不能给赋空值。

   所以我在NumericFilter.js中的serialize方法中for循环的下面我加了这段代码
if(args == "")
  args.push({type: 'numeric', comparison: 'aa', value: ''});

给他附一个不影响结果的值,总之到后台也会过滤掉的,所以不影响程序的,从而解决了问题。
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics