微信小程序开发怎么得到json格式的单选按钮的分数及选项

1.首先在前台页面单选按钮的value的值上绑定两个属性选项及对应的分数值。
<swiper-item> 
                <view class='tq'>{{item.xh}}.{{item.content}}</view>
                <radio-group class="radio-group" bindchange="radioChange" data-id="{{item.id}}">
                <label class="radio"> 
                    <radio value="a#{{item.scorea}}"/>{{item.itema}}
                </label>
                <label class="radio"><radio value="b#{{item.scoreb}}" />{{item.itemb}}  </label>
                <label class="radio" wx:if="{{item.itemc!=''}}"> <radio value="c#{{item.scorec}}" />{{item.itemc}}</label>
                <label class="radio" wx:if="{{item.itemd!=''}}"> <radio value="d#{{item.scored}}" />{{item.itemd}}</label>
            </radio-group>  
              </swiper-item>

2.在js文件中为radiochange时间写一个事件函数。

 radioChange: function (e) {
    var id = e.currentTarget.dataset.id;
    var value = e.detail.value;
    var arr = value.split("#");
    var _answer = this.data.answer;
    _answer[id] = arr[0];
    
    var _score = this.data.score;
    _score[id] = arr[1];
    this.setData({ answer: _answer , score : _score});

    var len=0;
    for(var i in _answer){
      len++;
    }
    if(len<this.data.count){
      this.setData({btn_disabled:true});
    }else{
      this.setData({btn_disabled:false});
    }
  },

在data中写两个数组为空answer跟score,在radiochange中得到e.detail.value这是得到前台页面的value绑定的值得到的数据为'b#8'这种类型但是还要进一步的处理应该分割字符串。在js中分割字符串应该用split来分割。

在submit事件函数中应该写一个得到成绩的方法,代码如下

submit:function(e){
    var _score=0;
    for(var i in this.data.score){
      _score+=parseInt(this.data.score[i]);
    }
       })
},
在点击提交按钮是出现单选按钮的分数及选项
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值