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

QQ登录

只需一步,快速开始

查看: 1855|回复: 5

[处理中3] list循环产生的button,如何更改选中的那个button的css样式

[复制链接]

28

主题

69

帖子

137

积分

初级会员

Rank: 2

积分
137
QQ
发表于 2017-8-18 09:44:21 | 显示全部楼层 |阅读模式
我用一个list绑定data组件,根据数据循环显示出多个button,我想在button点击事件的时候更改选中的button的css样式,但是现在是无论点击哪个按钮最后变更样式的都是第一个button的样式,我的做法是在点击事件里将button的id设置唯一的一个值,然后再通过jquery来设定这个button的样式,代码如下:
        //取出当前循环的这条数据的品牌id
        var brandId=event.bindingContext.$object.val("brandId");
        keyBrandId=brandId;
   
        //将这个品牌ID赋给button的id <!-- 有问题的应该就是这部分-->
        $(this.getElementsByXid("button7")).attr("id",brandId);

        //更改样式
        if($("#"+brandId).hasClass("changeClass")){      
            $("#"+brandId).removeClass("changeClass");
            $("#"+brandId).addClass("brandClass");
        }else{
            $("#"+brandId).removeClass("brandClass");
            $("#"+brandId).addClass("changeClass");
        }
请帮忙看看,该怎么改才能出来我要的效果,急等.....

点击的是“大宝3”,更改样式的却是“大宝”

点击的是“大宝3”,更改样式的却是“大宝”

list绑定data组件,循环button

list绑定data组件,循环button
发表于 2017-8-18 11:18:33 | 显示全部楼层
使用bind-css 或 bind-style属性 动态绑定实现
http://docs.wex5.com/wex5-ui-question-list-2102
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

28

主题

69

帖子

137

积分

初级会员

Rank: 2

积分
137
QQ
 楼主| 发表于 2017-8-18 15:00:20 | 显示全部楼层
liangyongfei 发表于 2017-8-18 11:18
使用bind-css 或 bind-style属性 动态绑定实现
http://docs.wex5.com/wex5-ui-question-list-2102 ...

亲,你这个链接早就发给我过,我也研究过,没实现我才发帖再问的,我这个的问题是因为我要变更样式的对象是循环产生的,我现在没办法在点击事件的时候锁定我所点击的对象,你例子里动态绑定的那个例子也就是在这个控件里定义一个变量呗,但是我循环的时候还是没办法确定我点击的是循环中的哪一个啊,我的疑惑你明白吗亲
回复 支持 反对

使用道具 举报

发表于 2017-8-18 15:28:08 | 显示全部楼层
aoke123 发表于 2017-8-18 15:00
亲,你这个链接早就发给我过,我也研究过,没实现我才发帖再问的,我这个的问题是因为我要变更样式的对象 ...

点击事件可以获取当前行对象
http://docs.wex5.com/wex5-ui-question-list-2019/
并且给当前行的字段赋值的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

28

主题

69

帖子

137

积分

初级会员

Rank: 2

积分
137
QQ
 楼主| 发表于 2017-8-18 16:43:19 | 显示全部楼层
liangyongfei 发表于 2017-8-18 15:28
点击事件可以获取当前行对象
http://docs.wex5.com/wex5-ui-question-list-2019/
并且给当前行的字段赋值 ...

我知道通过这种方式可以获取到当前行,但是我获取当前行的目的是为了改css样式,像你例子里写的那样设置val值对我没啥作用呢,我获取到当前行之后再怎么去更改样式呢,我能给获取到的当前行设定属性id的值吗亲
回复 支持 反对

使用道具 举报

发表于 2017-8-18 17:03:26 | 显示全部楼层
aoke123 发表于 2017-8-18 16:43
我知道通过这种方式可以获取到当前行,但是我获取当前行的目的是为了改css样式,像你例子里写的那样设置v ...

bind-css 或 bind-style属性 不就是通过判断 data字段的值显示不同的效果的吗??
你点击事件中只需要关注修改data字段的值!
那么bind-css 自然会重新计算,重新显示的!

这就是动态感知!一切都是围绕数据进行开发的!

你只需要关注如何修改data组件中的值 就可以了!
其他bind- 相关的数据会根据data字段的变化自动感知  进行变化的!
不需要通过代码修改dom节点!

动手试试就知道了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 18:29 , Processed in 0.068484 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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