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

QQ登录

只需一步,快速开始

查看: 5357|回复: 8

[结贴] Radio组件问题

[复制链接]

9

主题

48

帖子

146

积分

初级会员

Rank: 2

积分
146
QQ
发表于 2016-1-4 11:49:51 | 显示全部楼层 |阅读模式
本帖最后由 kildare 于 2016-1-4 11:56 编辑

页面放置了几个同名Radio组件,通过jQuery改变Radio的选中状态,改变不了!(鼠标点击单选框本身是能改变的)
1.png


如图,使用attr('checked','checked'),默认选中是第四项,使用后,默认选中还是第四项,第一项的选中状态没有变化。

同时还奇怪的一点,代码中四个radio的checked默认都是false的,但页面加载后最后一项默认选中了!

从下图css代码看,input的checked属性为true的话会展现为选中的蓝色状态:
2.png


代码:
test.rar (666 Bytes, 下载次数: 431)
发表于 2016-1-4 15:14:42 | 显示全部楼层
你的写法感觉怪怪的!首先你没有data组件,干嘛放置list组件!list组件一般只设置一个radio,页面显示会根据data组件的行数自动显示多个!

关于radio的用法可参考:/UI2/system/components/justep/button/demo/radio.w
如果你想做单选,建议使用radioGroup组件!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

9

主题

48

帖子

146

积分

初级会员

Rank: 2

积分
146
QQ
 楼主| 发表于 2016-1-4 15:43:59 | 显示全部楼层
liangyongfei 发表于 2016-1-4 15:14
你的写法感觉怪怪的!首先你没有data组件,干嘛放置list组件!list组件一般只设置一个radio,页面显示会根 ...

我的实际就是list组件绑定data,然后生成的多条记录。
上面的数据我只是新建了一个页面进行重现而已

生成出来的多条记录,radio都是同名称同xid的

我要实现的功能就是点击list行,这行的radio就被选中,换句话说就是单选了,只是选择的作用范围在整行,而不仅限于单选框

回复 支持 反对

使用道具 举报

9

主题

48

帖子

146

积分

初级会员

Rank: 2

积分
146
QQ
 楼主| 发表于 2016-1-4 15:46:36 | 显示全部楼层
另外,问题的重点在于,jquery不能修改radio的选中状态!!
回复 支持 反对

使用道具 举报

发表于 2016-1-4 16:41:30 | 显示全部楼层
kildare 发表于 2016-1-4 15:43
我的实际就是list组件绑定data,然后生成的多条记录。
上面的数据我只是新建了一个页面进行重现而已

啊,你的需求应该这样实现:
在data组件中需要定义一个字段!设置为boolean类型的!可以设置默认值为false
然后设置radio组件的bind-ref属性,ref('字段')  ,另外radio设置一个name 属性  
然后就可以选择了!
当选中时,data组件对应行的字段值也会变成true,取消选择时,值就变成了false
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

9

主题

48

帖子

146

积分

初级会员

Rank: 2

积分
146
QQ
 楼主| 发表于 2016-1-4 17:37:44 | 显示全部楼层
liangyongfei 发表于 2016-1-4 16:41
啊,你的需求应该这样实现:
在data组件中需要定义一个字段!设置为boolean类型的!可以设置默认值为fals ...

谢谢,不过我自己用模拟的方式实现了,没用radio
回复 支持 反对

使用道具 举报

发表于 2016-1-4 17:44:42 | 显示全部楼层
kildare 发表于 2016-1-4 17:37
谢谢,不过我自己用模拟的方式实现了,没用radio

请问你怎么做的?可以说来让大家参考下!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

9

主题

48

帖子

146

积分

初级会员

Rank: 2

积分
146
QQ
 楼主| 发表于 2016-1-4 19:41:24 | 显示全部楼层
liangyongfei 发表于 2016-1-4 17:44
请问你怎么做的?可以说来让大家参考下!

哦,我在radio的位置放置了一个button,显示一个打勾的icon,默认隐藏
点击该行,就显示该行的icon,在点击事件里用jquery实现。

然后在js中设置一个全局变量记录该行的id值,该id值可以在js代码任意地方使用,也可以通过id查找到data里面的row数据对象!

                var row = event.bindingContext.$object;
                this.addrId = row.val("ID");  //全局变量
                $('.i1').hide();  //i1为button的类名
                $('.i1:eq(' + row.index() + ')').show(); //选中行的显示
3.png 类似这样的效果

回复 支持 反对

使用道具 举报

17

主题

80

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
QQ
发表于 2016-1-4 20:39:39 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-5 03:31 , Processed in 0.060208 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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