Mini Programs enable product attribute selection or specification selection

Mini Programs enable product attribute selection or specification selection

This article shares the specific code for implementing product attribute selection or specification selection in a mini program for your reference. The specific content is as follows

Achieve results

1.wxml

<view wx:for="{{list}}" wx:key="index" wx:key="index" wx:for-index="childIndex" style="margin: 40px 0">
  <view>{{item.name}}</view>
 
 
  <view class="s" wx:for="{{item.option_value}}" wx:key="index" >
   <text class="{{indexArr[childIndex] == index ? 'active':''}}" bindtap="choice" data-fid="{{childIndex}}" data-id="{{index}}">
    {{item.name}}
   </text>
  </view>
</view>

2.js

data: {
 //Data list: [
   {
    "goods_option_id": 1737,
    "option_id": 1737,
    "name": "Ice Degree",
    "option_value": [
     {
      "goods_option_value_id": 3606,
      "option_value_id": 3606,
      "name": "Normal Ice",
      "image": "xxxxxx.png"
     },
     {
      "goods_option_value_id": 3605,
      "option_value_id": 3605,
      "name": "Shao Bing",
      "image": "xxxxxx.png"
     },
     {
      "goods_option_value_id": 3604,
      "option_value_id": 3604,
      "name": "Hot Drinks",
      "image": "xxxxxx.png"
     }
    ]
   },
   {
    "goods_option_id": 1738,
    "option_id": 1738,
    "name": "Sugar Content",
    "option_value": [
     {
      "goods_option_value_id": 3608,
      "option_value_id": 3608,
      "name": "Normal Sugar",
      "image": "xxxxxx.png"
     },
     {
      "goods_option_value_id": 3607,
      "option_value_id": 3607,
      "name": "Less Sugar",
      "image": "xxxxxx.png"
     }
    ]
   },
   {
    "goods_option_id": 1737,
    "option_id": 1737,
    "name": "Ice Degree",
    "option_value": [
     {
      "goods_option_value_id": 3606,
      "option_value_id": 3606,
      "name": "Normal Ice",
      "image": "xxxxxx.png"
     },
     {
      "goods_option_value_id": 3605,
      "option_value_id": 3605,
      "name": "Shao Bing",
      "image": "xxxxxx.png"
     },
     {
      "goods_option_value_id": 3604,
      "option_value_id": 3604,
      "name": "Hot Drinks",
      "image": "xxxxxx.png"
     }
    ]
   }
  ],
  arr: [],
  indexArr: []
 },

choice(e) {
  const fid = e.currentTarget.dataset.fid;
   const id = e.currentTarget.dataset.id;
  const arr = this.data.arr,
     arr2 = this.data.indexArr;
    
   arr[fid] = this.data.list[fid].option_value[id].name;
  arr2[fid] = id;

  this.setData({
   arr: arr,
   indexArr: arr2
  })
 },
 
 onLoad: function (options) {
  const res = this.data.indexArr;
  this.data.list.forEach((e,i) => {
   res[i] = 0;
   this.setData({
    indexArr:res
   })
  });
 }

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • WeChat applet realizes linkage selection of product attributes
  • WeChat Mini Program Product Details Page Specification Attribute Selection Sample Code

<<:  How to modify iTunes backup path under Windows

>>:  Example of how to generate random numbers and concatenate strings in MySQL

Recommend

Detailed explanation of this pointing problem in JavaScript

Preface The this pointer in JS has always been a ...

How to install vim editor in Linux (Ubuntu 18.04)

You can go to the Ubuntu official website to down...

A brief discussion on the principle of js QR code scanning login

Table of contents The essence of QR code login Un...

Summary of the pitfalls of using primary keys and rowids in MySQL

Preface We may have heard of the concept of rowid...

MySQL data type optimization principles

MySQL supports many data types, and choosing the ...

Mysql transaction concurrency problem solution

I encountered such a problem during development A...

Detailed tutorial on installing pxc cluster with docker

Table of contents Preface Preliminary preparation...

How to change the domestic source of Ubuntu 20.04 apt

UPD 2020.2.26 Currently Ubuntu 20.04 LTS has not ...

Tutorial on installing PHP on centos via yum

First, let me introduce how to install PHP on Cen...

CSS3 speeds up and delays transitions

1. Use the speed control function to control the ...

Use simple jQuery + CSS to create a custom a tag title tooltip

Introduction Use simple jQuery+CSS to create a cus...

6 Uncommon HTML Tags

First: <abbr> or <acronym> These two s...