微信小程序ajax数据for循环 状态默认选中第一个 点击按钮添加class样式

<block wx:for="{{grades}}" wx:for-item="items">
  <view class='gradeinfo'>{{items.name}}</view>
  <view class='gradelist'>
    <button class="{{actived == item ? 'active' : ''}}" data-item="{{item}}" 
    wx:for="{{items.list}}" wx:for-item="item" bindtap="tagChoose">{{item}}</button>
  </view>
</block>

res里的数据
在这里插入图片描述
res.data里的数据
在这里插入图片描述
res.data.data里的数据
在这里插入图片描述
而wx:for循环的内容是要具体到data的。

grades 是ajax总数据 grades = res.data.data;
actived默认选中第一个 给静态的数据 gradeArray[0]['list'][0]
点击时改变样式,通过item来判断,data-item="{{item}}"options.currentTarget.dataset里传一个参数进行对比,选中的和item相等就添加active样式
在这里插入图片描述
在这里插入图片描述
完善后的选择年级:如果选择过就获取选中的值 var selectedSubject = _this.data.seleted;,actived传的值就是 selectedSubject;如果没有选择过就默认选中第一个actived: gradeArray[0]['list'][0]//默认选中初始值.

Page({
  data: {
    grades: [],
    actived:''
  },
  onLoad: function (options) {
   wx.request({
      success(res) {
        var gradeArray =res.data.data;
        var selectedSubject = _this.data.seleted; //选择过年级
        if(!selectedSubject){
          selectedSubject = gradeArray[0]['list'][0];
        }
        _this.setData({
          grades:gradeArray,
          actived: selectedSubject
        })
      }
    })
  },
  tagChoose: function (options) { //点击时
    var that = this;
    that.setData({
      actived: options.currentTarget.dataset.item
    })
  }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值