收藏
回答

checkbox 问题获取循环中的下标

当我点击 checkbox  会调用 bindchange="checkboxChange" 方法,怎么获取我每次点击的checkbox  的下标 shopIndex

因为<checkbox-group>是在循环外面且有多个checkbox 。求告知怎么获取当前点击checkbox  的下标






<checkbox-group bindchange="checkboxChange"  >

    <view class="row"  wx:for="{{cart.cartslist}}" wx:for-item="shop"

    wx:for-index="shopIndex" wx:key="shopIndex"  >

        <view class=" checkbox" >

            <checkbox value='{{shop.id}}' checked='{{shop.checked}}'   ></checkbox>

        </view>

 </view>

</checkbox-group>


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

4 个回答

  • 虾仁鱼🍤🚶🐠
    虾仁鱼🍤🚶🐠
    2022-05-08

    直接在checkbox标签里传入for循环的index就可以了呀

    <view class="weui-cell__hd">
      <checkbox value="{{index}}" checked="{{item.checked}}"/>
    </view>
    
    2022-05-08
    有用 1
    回复
  • A叔
    A叔
    2020-04-03

    2020-04-03
    有用
    回复 1
    • A叔
      A叔
      2020-04-03
      楼主你解决了吗,我好难
      2020-04-03
      回复
  • Always*
    Always*
    2018-10-28

    我也遇到了这个问题  请问 楼主 解决了吗?


    2018-10-28
    有用
    回复
  • 东东
    东东
    2018-09-12

    checkboxChange: function(e) {

          console.log(e)

            let cartslist = that.data.cart.cartslist;

            let checkedGoodsList = e.detail.value;

            for (let i = 0; i < cartslist.length; i++) {

                let shop = cartslist[i];

                if (shop.status == 1) {

                    let good_id = shop.id.toString();

                    let index = checkedGoodsList.indexOf(good_id);

                    if (index < 0) {

                        shop.checked = false;

                    } else {

                        shop.checked = true;

                    }

                }

            }

    that.data.cart.cartslist = cartslist

            that.setData({

                cart: cart,

                checkedGoodsList: checkedGoodsList

            })

            that.countOrderTotal();

        },

    我是这么做的,虽然麻烦了点。但是目前还能满足需求。

    2018-09-12
    有用
    回复
登录 后发表内容