jQuery MiniUI

 找回密码
 立即注册
查看: 4251|回复: 4
打印 上一主题 下一主题

CheckBoxList动态设置禁用单项 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2020-3-29 16:40:25 |只看该作者 |倒序浏览
我对单项设置enabled:false,我看不管是value还是getSelecteds都是有值的,但是前台的选中勾勾不展示,不知道什么原因。
这是部分代码
valueArry.forEach(function(element,index) {
    if (valueStr.indexOf(element) > -1) {
        objList.select(obj);
        objList.updateItem(obj, {enabled:false});
        objList.doValueChanged();
    } else {
        if (objList.isSelected(obj)) {//若以选中,则取消选中
            objList.deselect(obj);
            objList.updateItem(obj, {enabled:true});
            objList.doValueChanged();
        }
    }
});


Rank: 2

沙发
发表于 2020-3-30 13:30:57 |只看该作者
版主帮忙解答下。 谢谢了

Rank: 8Rank: 8

板凳
发表于 2020-3-30 16:52:58 |只看该作者
并没有updateItem这方法
请动态处理全部数据
再次mini.get(id).setData(data)通过重新加载数据来实现动态禁用

Rank: 2

地板
发表于 2020-3-31 10:01:22 |只看该作者
设置了enabled = false;的那一项禁用了,但是我也无法选中那一项了,如何做到选中但是禁用掉的效果,因为我想实现的是不让其取消修改选中项的效果。
valueArry.forEach(function(element,index) {
                if (valueStr.indexOf(element) > -1) {
                    objList.select(obj);

                    var data = kt.clone(objList.getData());
                    var selects = kt.clone(objList.getSelecteds());
                    var index = obj.id - 1;
                    data[index].enabled = false;

                    objList.setData(data);
                    selects.forEach(function(element,index) {
                        var item = objList.getAt(element.id - 1);
                        objList.select(item);
                    });
                    objList.doValueChanged();
                } else {
                    if (objList.isSelected(obj)) {//若以选中,则取消选中
                        objList.deselect(obj);

                        var data = kt.clone(objList.getData());
                        var selects = kt.clone(objList.getSelecteds());
                        var index = obj.id - 1;
                        data[index].enabled = true;

                        objList.setData(data);
                        selects.forEach(function(element,index) {
                            var item = objList.getAt(element.id - 1);
                            objList.select(item);
                        });
                        objList.doValueChanged();
                    }
                }
            });

Rank: 8Rank: 8

5#
发表于 2020-4-1 10:23:21 |只看该作者
daxiong123 发表于 2020-3-31 10:01
设置了enabled = false;的那一项禁用了,但是我也无法选中那一项了,如何做到选中但是禁用掉的效果,因为我 ...

setData后,setValue

Archiver|普加软件

GMT+8, 2024-11-27 08:47 , Processed in 1.023716 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部