微信小程序之多选checkbox选中之后改变样式

原理:通过checkChange来监听所有checkbox的变化,监听函数通过e.dtail.value得到一个被选中的数组,通过选中数组checkArr[],来给原先的数据数组items[]的被选中对象的check属性置true,没有被选中的置false,在我们的wxml中,通过判断每个对象的checked属性来给他一个”is_checked”的class。

wxml

 <checkbox-group class='free-radios' bindchange="checkChange">
       <label bindtap="click"  wx:for="{{items}}" wx:key="{{items}}"  class="free-radio {{item.checked?'is_checked':''}}">
           <checkbox value="{{item.name}}" name="{{item.value}}"  checked="{{item.checked}}" hidden='true'></checkbox>
           <label class="free-text">{{item.value}}</label>
        </label>
</checkbox-group>

js

data: {
    showDialog: false,
    showDialogRight:false,
    items: [
      { name: '0', value: '中国', checked: false,},
      { name: '1', value: '美国', checked: false,},
      { name: '2', value: '巴西', checked: false,},
      { name: '3', value: '日本', checked: false,},
      { name: '4', value: '英国', checked: false,},
      { name: '5', value: '法国', checked: false,},
      { name: '6', value: '韩国', checked: false,},
      { name: '7', value: '俄罗斯', checked: false,},],
  },
checkChange: function (e) {
    console.log('radio发生change事件,携带value值为:', e)
    var that = this
    that.setData({
      value: e.detail.value
    })
    var items = this.data.items;
    var checkArr = e.detail.value;
    for (var i = 0; i < items.length; i++) {
      if (checkArr.indexOf(i + "") != -1) {
        items[i].checked = true;
      } else {
        items[i].checked = false;
      }
    }
    this.setData({
      items: items
    })  
  },

原文来自:http://blog.csdn.net/Wu_shuxuan/article/details/78491953?locationNum=3&fps=1

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • WXML WXML(WeiXin Markup Language)是微信的一套标签语言,结合基础组件、事件系统,可...
    许剑锋阅读 11,923评论 3 51
  • 昨天看了一下微信小程序官方文档,总结一下自己学习的个人心得. 首先从官方文档给的框架说起,微信小程序官方文档给出了...
    Mr大大大阅读 47,383评论 9 68
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 10,060评论 0 11
  • 我是一只笼中鸟 ,一只并不普通的笼中鸟。 在我年轻时,也就是几年前,曾想去高山上听流水声,稀里哗啦;也想去北方找燕...
    咔咔咔6阅读 1,885评论 0 0
  • 不惑之年的老爸对新生事物接受能力慢,一下班就捣鼓自己的手机,不停的问我这个怎么这样,那个怎么那样,这个怎么弄,那个...
    小二随笔阅读 3,411评论 0 0