This article shares the specific code for WeChat applet to implement star rating for your reference. The specific content is as follows First method:WXML code: <view> Star rating</view> <view> <block class="brightStars"> <image data-index='0' data-no="{{item}}" wx:for="{{starsBox}}" bindtap="changePic" wx:key="index" src="{{flag[0]>=item? '../img/starFull.png' : '../img/star.png'}}"></image> </block> <view class="texts">{{startext[0]}}</view> </view> JS code: Page({ data: { flag: [0, 0, 0], startext: ['', '', '', ], starsBox: [1, 2, 3, 4, 5] }, changePic: function (e) { var index = e.currentTarget.dataset.index; console.log(index,'-'); var num = e.currentTarget.dataset.no; console.log(num); var a = 'flag[' + index + ']'; console.log(a); var b = 'startext[' + index + ']'; console.log(b); var that = this; if (num == 1) { that.setData({ [a]: 1, [b]: 'Very dissatisfied' }); } else if (num == 2) { that.setData({ [a]: 2, [b]: 'unsatisfied' }); } else if (num == 3) { that.setData({ [a]: 3, [b]: 'General' }); } else if (num == 4) { that.setData({ [a]: 4, [b]: 'Satisfied' }); } else if (num == 5) { that.setData({ [a]: 5, [b]: 'Very satisfied' }); } }, }) WXSS Code: .container{ display: flex; flex-direction: row; padding: 0; flex-wrap: nowrap; } image{ width: 50px; height: 50px; } Second method:WXML Content: <view>Star Rating</view> <block wx:for="{{starYesNum}}" wx:key="index"> <image bindtap="selectStar" id='{{index+1}}' data-in='selectStarYes' src='../../static/img/starY.png'></image> </block> <block wx:for="{{starNoNum}}" wx:key="index"> <image bindtap='selectStar' id='{{index+1}}' data-in='selectStarNo' src='../../static/img/starN.png'></image> </block> <view>{{starYesNum}} star</view> The first block tag contains a box with a bright star. The second block tag contains a box without a bright star. Star rating is achieved by changing the number of bright stars and the number of dark stars JS code: Page({ data: { starYesNum:0, //Number of lit stars starNoNum:5, //Number of unlit stars}, selectStar:function(e){ console.log(e.target.id); console.log(e.currentTarget.dataset.in); //Judge whether the clicked star is a bright star or a dark star, and set it if(e.currentTarget.dataset.in == 'selectStarNo'){ this.setData({ starYesNum: Number(e.target.id) + Number(this.data.starYesNum), starNoNum:5-Number(e.target.id) - Number(this.data.starYesNum) }) }else{ this.setData({ starYesNum:Number(e.target.id ), starNoNum:Number(5-e.target.id) }) } }, }) 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:
|
<<: Problems and experiences encountered in web development
>>: CSS web page responsive layout to automatically adapt to PC/Pad/Phone devices
Statistics of QPS values in the last N seconds ...
1. What is floating? Floating, as the name sugges...
Sometimes we want to execute a command in a conta...
Table of contents Preface Example summary Preface...
Table of contents Preface Vue update view patch s...
I use Navicat as my database tool. Others are sim...
Table of contents 1. Interface definition 2. Attr...
Steps to configure whitelist access in mysql 1. L...
The file server is one of the most commonly used ...
Install Docker You have to install Docker, no fur...
This article shares the specific code of react+an...
Table of contents Create an image File Structure ...
1. CSS Navigation Bar (1) Function of the navigat...
Table of contents Preface 1. The request content ...
The sudo command allows a trusted user to run a p...