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

QQ登录

只需一步,快速开始

查看: 2494|回复: 11

[结贴] listli里面加载多个label,单独控制每个label

[复制链接]

36

主题

192

帖子

530

积分

高级会员

Rank: 4

积分
530
发表于 2017-3-9 11:40:14 | 显示全部楼层 |阅读模式
list里面有row、col控件,在col中放了一个label xid=lblcount,数据库加载数据到list中,出现多个label,我想控制每一个label隐藏或显示,怎么控制单个呢?

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-9 11:47:06 | 显示全部楼层
如果是数据控制的   就可以使用bind-visible属性根据数据的值显示隐藏   
或者使用原生的DOM方法  获取节点  然后将DOM对象转化为jquery对象  再使用show和hide方法  也可以
回复 支持 反对

使用道具 举报

36

主题

192

帖子

530

积分

高级会员

Rank: 4

积分
530
 楼主| 发表于 2017-3-9 11:54:15 | 显示全部楼层
半导体 发表于 2017-3-9 11:47
如果是数据控制的   就可以使用bind-visible属性根据数据的值显示隐藏   
或者使用原生的DOM方法  获取节 ...

我用了bind_visible,一个触发,全部都隐藏了,我需要找到单个的label的控制。
我不知道怎么用原生的DOM方法获取节点
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-9 13:14:14 | 显示全部楼层
fteair 发表于 2017-3-9 11:54
我用了bind_visible,一个触发,全部都隐藏了,我需要找到单个的label的控制。
我不知道怎么用原生的DOM方 ...

你可以使用  event.target   或是  使用this.comp('Xid')  也或是  $(this.getElementByXid('Xid'))-->这个获取的是jquery对象  

这些都是可以的  
回复 支持 反对

使用道具 举报

36

主题

192

帖子

530

积分

高级会员

Rank: 4

积分
530
 楼主| 发表于 2017-3-9 13:37:52 | 显示全部楼层
半导体 发表于 2017-3-9 13:14
你可以使用  event.target   或是  使用this.comp('Xid')  也或是  $(this.getElementByXid('Xid'))-->这 ...

耶行耶!O(∩_∩)O谢谢你啊
回复 支持 反对

使用道具 举报

36

主题

192

帖子

530

积分

高级会员

Rank: 4

积分
530
 楼主| 发表于 2017-3-9 14:54:47 | 显示全部楼层
半导体 发表于 2017-3-9 13:14
你可以使用  event.target   或是  使用this.comp('Xid')  也或是  $(this.getElementByXid('Xid'))-->这 ...

用bind-visible属性怎么写代码?我直接绑定data的一个列的话会全部隐藏
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-9 15:00:33 | 显示全部楼层
fteair 发表于 2017-3-9 14:54
用bind-visible属性怎么写代码?我直接绑定data的一个列的话会全部隐藏

bind-visible属性的话  最好有一个像list一样的东西 能够获取到当前行元素
比如说list里面的button的显示隐藏就可以用  bind-visible实现的
回复 支持 反对

使用道具 举报

36

主题

192

帖子

530

积分

高级会员

Rank: 4

积分
530
 楼主| 发表于 2017-3-9 15:05:49 | 显示全部楼层
半导体 发表于 2017-3-9 15:00
bind-visible属性的话  最好有一个像list一样的东西 能够获取到当前行元素
比如说list里面的button的显 ...

我这个label是在list里面的,也有bind_visible属性,我需要的就是这个label值是0的时候隐藏,不是0的时候显示。
回复 支持 反对

使用道具 举报

36

主题

192

帖子

530

积分

高级会员

Rank: 4

积分
530
 楼主| 发表于 2017-3-9 15:34:24 | 显示全部楼层
我list里面的label值来自于data的一个列,动态生成了,很多个label   xid=lblcount     当第一个label的值为0时,我隐藏第一个,,当第二个label值为0时隐藏第二个,这个该用哪个属性或事件呢?  
我自己写一个方法来隐藏label的时候$(this.getElementByXid("lblCount")).hide();这个会报错,应该是找不到是哪一个label
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-9 15:35:12 | 显示全部楼层
fteair 发表于 2017-3-9 15:05
我这个label是在list里面的,也有bind_visible属性,我需要的就是这个label值是0的时候隐藏,不是0的时候 ...

bind-visible 属性是通过绑定一个KO对象的值,动态控制的!你只需要修改这个KO 对象值就可以了

http://doc.wex5.com/data-bind-visible/

还有 只有组件才可以使用this.comp获取组件对象!而col只是一个标签 ,有component属性的才是组件!


获取标签的dom节点可以是this.getElementByXid('xid')
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-3 11:40 , Processed in 0.058822 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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