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

QQ登录

只需一步,快速开始

查看: 3724|回复: 11

[结贴] LIST中如何获取当前行的output值

[复制链接]

29

主题

82

帖子

188

积分

初级会员

Rank: 2

积分
188
QQ
发表于 2017-6-20 22:33:25 | 显示全部楼层 |阅读模式
在list中放了几个按钮 加减output中的值,当不上下定位点击的时候 连续上下的加减 会出现: 按下面行的加号 所得到的值 是上面行的output+1
  1.         var row = event.bindingContext.$object;
  2.         var data1=this.comp('data1');
  3.         var a = row.val('NUM');
  4.         if(data1.carlode == null&&data1.getValue('outAdd') == null&&null&&data1.getValue('PlanArrDate') == null){
  5.         alert("请选择单车载重、到货地、到货时间!")
  6.         data1.setValue('NUM',0);
  7.         }else{
  8. //                var a = data1.getValue('NUM');
  9.      if(a>0&&data1.getValue('carlode')!=null){
  10.      a=a-1;
  11.      var ALLlode=data1.getValue('FinalNum')-data1.getValue('carlode');
  12.     if(data1.getValue('NUM')==0&&data1.getValue('carlode')!=null){
  13.     ALLlode=data1.getValue('FinalNum')-data1.getValue('carlode');
  14.     data1.setValue('FinalNum',ALLlode,row);
  15.     }  
  16.     else if(data1.getValue('carlode')!=null){
  17.     data1.setValue('FinalNum',ALLlode,row);
  18.     }  
  19.      }
  20.     data1.setValue('NUM',a,row);
  21.     var LeaveNum = data1.getValue('PlanNum')-data1.getValue('FinalNum');
  22.     if(LeaveNum>data1.getValue('PlanNum')&&data1.getValue('carlode')!=null){
  23.     data1.setValue('LeaveNum',0,row);
  24.     }
  25.     else if(data1.getValue('carlode')!=null){
  26.     data1.setValue('LeaveNum',LeaveNum,row);
  27.     }
  28.    
  29.         }
复制代码



QQ图片20170620223135.png

29

主题

82

帖子

188

积分

初级会员

Rank: 2

积分
188
QQ
 楼主| 发表于 2017-6-21 08:06:26 | 显示全部楼层
求助啊!!
回复

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-6-21 09:50:58 | 显示全部楼层

list循环出来的每行li中组件的Xid是相同的  是不是这个导致的啊  ?
回复 支持 反对

使用道具 举报

29

主题

82

帖子

188

积分

初级会员

Rank: 2

积分
188
QQ
 楼主| 发表于 2017-6-21 10:45:06 | 显示全部楼层
半导体 发表于 2017-6-21 09:50
list循环出来的每行li中组件的Xid是相同的  是不是这个导致的啊  ?

有可能 ,但是我 在当前行点击一下之后 再点加减按钮 能正确加减
回复 支持 反对

使用道具 举报

29

主题

82

帖子

188

积分

初级会员

Rank: 2

积分
188
QQ
 楼主| 发表于 2017-6-21 11:16:00 | 显示全部楼层
半导体 发表于 2017-6-21 09:50
list循环出来的每行li中组件的Xid是相同的  是不是这个导致的啊  ?

版主 能解决吗?有什么方式吗?
回复 支持 反对

使用道具 举报

29

主题

82

帖子

188

积分

初级会员

Rank: 2

积分
188
QQ
 楼主| 发表于 2017-6-21 12:53:49 | 显示全部楼层
.......
回复

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-6-21 13:35:32 | 显示全部楼层
QQ863017854 发表于 2017-6-21 10:45
有可能 ,但是我 在当前行点击一下之后 再点加减按钮 能正确加减

当不上下定位点击的时候是一个什么样的情况啊  这个跟你说的点击当前行的这个有什么区别吗

如果是像我说的那样的Xid重复导致的话    那你就直接操作dom节点  不要使用XID获取  就会避免的
回复 支持 反对

使用道具 举报

29

主题

82

帖子

188

积分

初级会员

Rank: 2

积分
188
QQ
 楼主| 发表于 2017-6-21 13:53:10 | 显示全部楼层
半导体 发表于 2017-6-21 13:35
当不上下定位点击的时候是一个什么样的情况啊  这个跟你说的点击当前行的这个有什么区别吗

如果是像我说 ...

点击当前行就是 在当前行空白处点击一下之后 再去按加减能正确加减, 不去空白处点一下直接按加减的话会根据先前操作行的NUM值去做一个加减操作。     

直接操作DOM节点具体是怎么样的?有案例吗? 我想尝试一下
回复 支持 反对

使用道具 举报

29

主题

82

帖子

188

积分

初级会员

Rank: 2

积分
188
QQ
 楼主| 发表于 2017-6-21 14:34:42 | 显示全部楼层
半导体 发表于 2017-6-21 13:35
当不上下定位点击的时候是一个什么样的情况啊  这个跟你说的点击当前行的这个有什么区别吗

如果是像我说 ...

比如:button源码添加一个text 自定义属性

1
2
3
<a bind-attr-test='$index()' component="$UI/system/components/justep/button/button" class="btn btn-default" label="button" xid="button1">
  <i xid="i1"></i>
  <span xid="span1"></span></a>
js这样写就可以找到绝对的某个dom节点了

1
2
3
4
//获取当前行button的 dom节点
var  buttonDom = $(event.currentTarget).find("a[test='"+event.bindingContext.$object.index()+"']");
//根据dom节点获取组件对象
var buttonObj =  (buttonDom[0])
获取list中组件的方法是:

(‘组件XID’)   返回值是一个数组!然后循环处理每个组件
这里的上下文中到底是 this.comps  还是this.comp?
回复 支持 反对

使用道具 举报

29

主题

82

帖子

188

积分

初级会员

Rank: 2

积分
188
QQ
 楼主| 发表于 2017-6-21 14:36:23 | 显示全部楼层
半导体 发表于 2017-6-21 13:35
当不上下定位点击的时候是一个什么样的情况啊  这个跟你说的点击当前行的这个有什么区别吗

如果是像我说 ...

发现获取不到这个output值   
页面源码
  1. <div bind-attr-test='$index()' component="$UI/system/components/justep/output/output" class="x-output center-block x-edit" xid="output10" dataType="Integer" bind-ref='ref("NUM")' bind-value=' val("NUM")' style="text-align:center;"></div></div> </div>
复制代码


JS
  1. //获取当前行button的 dom节点
  2. var  output10 = $(event.currentTarget).find("div[test='"+event.bindingContext.$object.index()+"']");
  3. //根据dom节点获取组件对象
  4. var a =  this.comps(output10[0]);
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-9 02:31 , Processed in 0.062071 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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