收藏
回答

checkbox 怎么阻止选中?

现在通过一个for循环渲染一组checkbox,规则是:最多选中三个。

想法:通过判断选中是否已经有三个,有就阻止再选。

但是,发现checkbox不能阻止选中,就算在checkbox-groud的bindchange的事件中return阻止了,也不行,所有求助各位大佬

回答关注问题邀请回答
收藏

5 个回答

  • 同步
    同步
    2020-10-23
    1、checkBox 放在 checkbox-group 标签内
    
    <block wx:for="{{hardwares}}" wx:key="value">
    
     <checkbox class="weui-check" value="{{item.value}}" checked="{{item.checked}}" />
    <icon class="weui-icon-checkbox_circle" type="circle" size="16" wx:if="{{!item.checked}}"></icon>
     <icon class="weui-icon-checkbox_success" type="success" size="16" wx:if="{{item.checked}}"></icon>
    </block>
    
    
    2、checkbox-group 绑定事件 bindchange="checkboxChange"
    
    
    3、建立数据 
      hardwares: [{
            name"0",
            value0
          },
          {
            name"1",
            value1
          }] 到 data 中,再写个如下函数,根据具体情况判断重新赋值
    
    
    
      checkboxChangefunction (e{
        console.log('checkbox发生change事件,携带value值为:', e.detail.value);
    
    
        var hardwares = this.data.hardwares,
          values = e.detail.value;
        for (var i = 0, lenI = hardwares.length; i < lenI; ++i) {
          hardwares[i].checked = false;
    
    
          for (var j = 0, lenJ = values.length; j < lenJ; ++j) {
            if (hardwares[i].value == values[j]) {
              hardwares[i].checked = true;
              break;
            }
          }
        }
    
    
        this.setData({
          hardwares: hardwares
        });
      }
    
    
    
    
    
    2020-10-23
    有用 1
    回复
  • 子不语
    子不语
    2020-10-23

    你重置为false不行么?

    请学会如何「提问」(👈戳我)
    【个体工商户】微信认证问题(👈戳我)

    2020-10-23
    有用 1
    回复
  • 谋谋谋
    谋谋谋
    2020-10-24

    或许这里有你想要的答案https://blog.csdn.net/csdn_yuan_/article/details/109011528

    2020-10-24
    有用
    回复
  • 清风一缕
    清风一缕
    2020-10-23

    disabled

    2020-10-23
    有用
    回复
  • 温水煮泡面
    温水煮泡面
    2020-10-23

    bindchange 判断下 已经选中3个的情况下 设置当前这个值为false

    2020-10-23
    有用
    回复 2
    • 韬
      2020-10-23
      那岂不是 必须给数组中的每个对象中添加一个 字段,通过这个字段来实现禁止选中?
      2020-10-23
      回复
    • 张小怂呦
      张小怂呦
      2020-10-23回复
      你直接forEach给每一个对象加上一个默认的check:false就好了
      2020-10-23
      1
      回复
登录 后发表内容
问题标签