起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2063|回复: 7

[处理中3] data.eachAll 获取当前行报错

[复制链接]

3

主题

10

帖子

28

积分

新手上路

Rank: 1

积分
28
QQ
发表于 2017-4-20 20:33:44 | 显示全部楼层 |阅读模式
这是相关代码
注: userlessonDataFirstRow这个我已经赋值过了是没有问题的  
lessonData.eachAll(function(param){
           if(userlessonDataFirstRow.val('lesson'+param.row.val('id')) != "true")
           lessonData.deleteData(param.row);        
               
          });
error22.png
发表于 2017-4-21 09:42:51 | 显示全部楼层
报错  就是调用的val方法 不存在
建议你debugger 调试一下代码
在if 上边断点调试!
看下运行时 userlessonDataFirstRow.val  和  param.row.val 分别是什么??
如果不是空,就不是这个引起的

会不会是其他代码引起的问题??请先调试代码
http://docs.wex5.com/js-debug/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

10

帖子

28

积分

新手上路

Rank: 1

积分
28
QQ
 楼主| 发表于 2017-4-21 10:33:05 | 显示全部楼层
本帖最后由 Verb快 于 2017-4-21 10:35 编辑
liangyongfei 发表于 2017-4-21 09:42
报错  就是调用的val方法 不存在
建议你debugger 调试一下代码
在if 上边断点调试!

我打了断点  发现param是这样的   我只是想遍历这个表,拿到当前行的id字段
再根据 id判断是否要 删除该行
但这样写没有删除行
是获取当前行的id语句有问题吗?

param

param
detail2.png
回复 支持 反对

使用道具 举报

发表于 2017-4-21 11:37:13 | 显示全部楼层
Verb快 发表于 2017-4-21 10:33
我打了断点  发现param是这样的   我只是想遍历这个表,拿到当前行的id字段
再根据 id判断是否要 删除该行 ...

param.row.val('id')  获取当前行字段的写法是没问题的!
你可以打印一下这个值是多少??应该是可以正确获取当前行id值的!

但是判断条件有没有成功还不定的!
打印一下userlessonDataFirstRow.val('lesson'+param.row.val('id'))  的值是多少??
if条件满足吗??
如果满足才能删除的!!
这些都要调试
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

10

帖子

28

积分

新手上路

Rank: 1

积分
28
QQ
 楼主| 发表于 2017-4-21 12:06:17 | 显示全部楼层
本帖最后由 Verb快 于 2017-4-21 12:42 编辑
liangyongfei 发表于 2017-4-21 11:37
param.row.val('id')  获取当前行字段的写法是没问题的!
你可以打印一下这个值是多少??应该是可以正确 ...

感谢回复 但这样写会报错的 就是我一开始问的问题
param.row.val('id')这个方法单独调用会报错



error22.png
回复 支持 反对

使用道具 举报

3

主题

10

帖子

28

积分

新手上路

Rank: 1

积分
28
QQ
 楼主| 发表于 2017-4-21 13:30:45 | 显示全部楼层
liangyongfei 发表于 2017-4-21 11:37
param.row.val('id')  获取当前行字段的写法是没问题的!
你可以打印一下这个值是多少??应该是可以正确 ...

版主 我放弃了这个方法  我自己用游标写了一个遍历 解决了
回复 支持 反对

使用道具 举报

3

主题

10

帖子

28

积分

新手上路

Rank: 1

积分
28
QQ
 楼主| 发表于 2017-4-21 13:33:40 | 显示全部楼层
Verb快 发表于 2017-4-21 13:30
版主 我放弃了这个方法  我自己用游标写了一个遍历 解决了

代码如下
        var lessonData = this.comp("lessonData");
         var userlessonData = this.comp("userlessonData");
         var userlessonDataFirstRow = userlessonData.getFirstRow();
         var row = lessonData.getFirstRow();
         lessonData.confirmDelete = false;//是否弹出确认删除提示框
         lessonData.directDeleteMode = false;//是否直接从数据库删除
         var isdelete = false;
          var sum = lessonData.countByAll();
          var count =0;
         for(;count<sum;row = lessonData.getCurrentRow(),count++ )
         {

                 if(userlessonDataFirstRow.val('lesson'+row.val('id')) != "true")
                 
                        {
                        isdelete = true;
                        lessonData.next();                        
                        lessonData.deleteData(row);       
                        }
                        
                         if(isdelete === false)
                         lessonData.next();
                         isdelete = false;                       
         }
回复 支持 反对

使用道具 举报

发表于 2017-4-21 14:11:10 | 显示全部楼层
Verb快 发表于 2017-4-21 13:30
版主 我放弃了这个方法  我自己用游标写了一个遍历 解决了

不用吧~!可以试试each方法
this.comp('mainData').each(function(param){
            names.push(param.row.val('id'));
    });
  
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-10-2 01:25 , Processed in 0.109409 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表