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

QQ登录

只需一步,快速开始

123
返回列表 发新帖
楼主: Bex5wenti

[结贴] bex5的checkbox如何实现全选和反选

[复制链接]

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-8-6 09:39:32 | 显示全部楼层
jishuang 发表于 2018-8-6 09:31
//获取checked属性值
var checked = this.comp("checkbox1").get("checked");

那改变选中状态呢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-6 09:43:52 | 显示全部楼层
//设置checkbox的checked属性
this.comp("checkbox1").set({
    "checked":true,
})
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-8-6 10:19:39 | 显示全部楼层
jishuang 发表于 2018-8-6 09:43
//设置checkbox的checked属性
this.comp("checkbox1").set({
    "checked":true,

我这边还是做不出来,那个data计算关系的不会做,在data.each里面没办法得到循环外定义的this.comp变量,没办法设置set,在data.each里面写this.comp就提示 not function
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-6 10:37:06 | 显示全部楼层
var me = this;
data.each(function(param){
  me.comp()
})
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-8-6 10:53:23 | 显示全部楼层
本帖最后由 Bex5wenti 于 2018-8-6 11:20 编辑
jishuang 发表于 2018-8-6 10:37
var me = this;
data.each(function(param){
  me.comp()

在data.eeach里面set方法显示 not function,放在外面又没执行,我只是想让一个checkbox控制其他checkbox全部进入选取状态,总是只能关联到第一个,我这个改变状态的方法体应该放在data.each里面吗
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-8-6 11:00:56 | 显示全部楼层
本帖最后由 Bex5wenti 于 2018-8-6 11:22 编辑
Bex5wenti 发表于 2018-8-6 10:53
我用var ck = me.comp("checkbox");获取我的list内的复选框,怎么获得它的长度信息呢,ck.length提示unde ...

已经取得了全选check的状态信息
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-8-6 11:32:54 | 显示全部楼层
var data = this.comp('dataCart');
                var me=this;
                //获得数据集返回的数据个数,即商品列表中商品个数
                var count=data.count();
               
                data.each(function(param){
                        var row = param.row;
                        row = count;
                        var ckAll = me.comp("checkAll");
                        var check = ckAll.get("checked");
                        var ck = me.comp("checkbox");
                       
                        if(check){
                       
                                for(var i=0;i<count;i++){
                                console.log("1111111111");
                                        ck.set({
                                                "checked":true,
                                        });
                                }
                        }else{
                                for(var j=0;j<count;j++){
                                        ck.set({
                                                "checked":false,
                                        });
                                }
                        }
                });
这是全部代码,但是目前还是点击全选框时只能改变第一个复选框的选中状态,而且如果先选了第二个或者第三个复选框此时全选框也会被选取上,再次点击取消全选框就会取消上面的复选框,而且会让第一个复选框处于被选取状态
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-6 11:34:48 | 显示全部楼层
参考

mainActivity.js

684 Bytes, 下载次数: 76

mainActivity.w

3.49 KB, 下载次数: 74

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2018-8-6 11:43:16 | 显示全部楼层
万分感谢为我做了个demo,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-24 14:45 , Processed in 0.071868 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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