liu443710427
wobuxiangxienicheng
2016-11-02 06:52
采纳率: 50%
浏览 595
已采纳

EXT grid get到的数据无法作对比?

var rows = mangementBooksSm.getSelections();
for(var z=0;z<rows.length;z++){
    for(var w=0;w<rows.length;w++){
        var a=rows[z].get("CDF_NUMBER").toString();
        var b=rows[w].get("CDF_NUMBER").toString();
        var c=rows[z].get("TRACKING_NO").toString();
        var d=rows[w].get("TRACKING_NO").toString();
        alert(a+b+c+d);
        if(z!=w &&  (c==d)){
            rows[w]="";
        }
    }
}

alert出来是正常的,获取的列值没错。但是已用if == 作比较就报错了。
火狐firedebug报错:
TypeError: rows[z].get is not a function
这是什么原因呢?get()返回的不是字符窜么?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • showbo
    已采纳

    说明你执行过 rows[w]="";这句了,在遍历到数组项是字符串,当然没有get方法

    
    for(var w=0;w<rows.length;w++){
    if(!rows[z].get)continue;///////////被置为空字符串继续遍历
    
    点赞 评论
  • liu443710427
    wobuxiangxienicheng 2016-11-02 07:21

    自己解决了,其实这样写没错,是火狐报错不准确。
    真正错的是rows[w]="";
    但是不知道为什么火狐会报TypeError: rows[z].get is not a function
    有大神可以解答下么?

    点赞 评论

相关推荐