收藏
回答

我想获取checkbox选取的值,然后比较大小,求大佬帮助/?

Page({
  data: {

    items: [
      { name: '1', value: '美国' },
      { name: '2', value: '中国' },
      { name: '3', value: '巴西' },
      { name: '4', value: '日本' },
      { name: '5', value: '英国' },
      { name: '6', value: '法国' },
    ]
  },
  checkboxChange: function (e) {
    console.log(e.detail.value)
    
    let max = Math.max(e.detail.value);
    //let min = Math.min(Array(sbid));
    console.log(`最大数是:${max}`);
    //console.log(`最小数是:${min}`);
  }
  
})


<checkbox-group bindchange="checkboxChange">
  <block wx:for="{{options}}" wx:key="id">
    <checkbox value="{{item.id}}" checked="{{item.checked}}">{{item.name}}</checkbox>
  </block>
</checkbox-group>


出现以下问题:

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

1 个回答

  • CRMEB
    CRMEB
    2023-10-20

    你的代码中,`checkboxChange`函数接收到的`e.detail.value`是一个数组,包含了所有被选中的checkbox的值。你可以通过遍历这个数组来找到最大的值。以下是修改后的代码:


    Page({
      data: {
        items: [
          { name: '1', value: '美国' },
          { name: '2', value: '中国' },
          { name: '3', value: '巴西' },
          { name: '4', value: '日本' },
          { name: '5', value: '英国' },
          { name: '6', value: '法国' },
        ]
      },
      checkboxChange: function (e) {
        console.log(e.detail.value)
        
        let max = Math.max(...e.detail.value);
        console.log(`最大数是:${max}`);
      }
    })
    


    这里使用了扩展运算符`...`来将数组展开,然后传递给`Math.max`函数。这样就可以找到最大的值了。

    2023-10-20
    有用
    回复 3
    • 记录员
      记录员
      2023-10-20
      还是不行
      2023-10-20
      回复
    • 记录员
      记录员
      2023-10-20
      可以了可以了,谢谢大佬
      2023-10-20
      回复
    • 记录员
      记录员
      2023-10-20
      可以了可以了,谢谢大佬
      2023-10-20
      回复
登录 后发表内容