溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序?qū)崿F(xiàn)工作時間段選擇

發(fā)布時間:2020-09-23 09:16:18 來源:腳本之家 閱讀:486 作者:qq_39201210 欄目:web開發(fā)

本文實例為大家分享了微信小程序工作時間段選擇的具體代碼,供大家參考,具體內(nèi)容如下

微信小程序?qū)崿F(xiàn)工作時間段選擇

1. 效果圖如上,需完成時間段的選擇  以及下面的工作日選擇  保存按鈕為formSubmit提交后臺

2.思路:

①時段用picker跟input  如果沒有占位字符  則不需要input

②工作日選擇用checkbox  多選的樣式用label  將checkbox隱藏

③label的選擇后的樣式跟取消的樣式,這里無需判斷checked  當然也可以判斷checked  我這里的方法是,先建一個放星期一到星期天的數(shù)組date,選擇之后,在js里返回的detail.value里找到所選擇的日期selectedList,再判斷date是否在selectedList內(nèi)存在(注意是date在list中是否存在)。如果存在則設(shè)對應(yīng)的布爾為true,否則false。

下面為代碼:

wxml

<!--pages/addtime/index.wxml-->
<view class='main'>
 <view class='when'>
  <form bindsubmit='formSubmit'>
  <button formType='submit' id='save'>保存</button>
   <!-- 選擇時間段 -->
   <view class="selectTime">
     <text>時段:</text>
     <view class="section">
      <picker mode="time" value="{{time}}" start="09:00" end="21:00" bindchange="bindTimeChange" id='startTime'>
      <!-- 在js中判斷所選picker的id為startTime時,將value賦值給startTime,放在input內(nèi) -->
       <view class="picker">
         <input placeholder='開始時間' value='{{startTime}}' name="startTime"></input>
       </view>
      </picker>
     </view>
     <text>至</text>
    <view class="section">
      <picker mode="time" value="{{time}}" start="09:00" end="21:00" bindchange="bindTimeChange" id='endTime'>
      <!-- 在js中判斷所選picker的id為endTime時,將value賦值給endTime,放在input內(nèi) -->
      
       <view class="picker">
         <input placeholder='結(jié)束時間' value='{{endTime}}' name="endTime"></input>
       </view>
      </picker>
     </view>
   </view>
 
   <!-- 選擇星期 -->
   <view class='selectDay'>
    <checkbox-group bindchange="checkboxChange" name="checkbox">
      重復(fù):
      <!--寫一個class選擇后的背景色,在js中處理對應(yīng)布爾值,在class中用三元式判斷布爾并加背景色 -->
      <label class="checkbox {{selected.monday?'selectedColor':''}}" for='monday'>
      一
       <checkbox value="monday" id='monday' hidden/>
      </label>
 
      <label class="checkbox {{selected.tuesday?'selectedColor':''}}" for='tuesday'>
      二
       <checkbox value="tuesday" id='tuesday' hidden/>
      </label>
 
      <label class="checkbox {{selected.wednesday?'selectedColor':''}}" for='wednesday'>
      三
       <checkbox value="wednesday" id='wednesday' hidden/>
      </label>
 
      <label class="checkbox {{selected.thursday?'selectedColor':''}}" for='thursday'>
      四
       <checkbox value="thursday" id='thursday' hidden/>
      </label>
 
      <label class="checkbox {{selected.friday?'selectedColor':''}}" for='friday'>
      五
       <checkbox value="friday" id='friday' hidden/>
      </label>
 
      <label class="checkbox {{selected.saturday?'selectedColor':''}}" for='saturday'>
     六
       <checkbox value="saturday" id='saturday' hidden/>
      </label>
 
      <label class="checkbox {{selected.sunday?'selectedColor':''}}" for='sunday'>
     七
       <checkbox value="sunday" id='sunday' hidden/>
      </label>
 
    </checkbox-group>
   </view>
  </form>
 </view>
</view>

wx js

// pages/mine/index.js
Page({
 
 /**
  * 頁面的初始數(shù)據(jù)
  */
 data: {
  startTime:null,
  endTime: null,
  selected: {"monday":false,"tuesday":false,"friday":false,"wednesday":false,"thursday":false,"sunday":false,"saturday":false},
 // selected內(nèi)放對應(yīng)的用來判斷class的布爾json
 },
 bindTimeChange: function(e){
  if (e.currentTarget.id=="startTime") {
   this.setData({startTime:e.detail.value});
  }else if (e.currentTarget.id=="endTime") {
   this.setData({endTime:e.detail.value});
  }
 },
 checkboxChange: function(e){
  var selectedList = e.detail.value;
  var date = ["monday","tuesday","friday","wednesday","thursday","sunday","saturday"];//包含所有日期的數(shù)組
  var selected = this.data.selected;//先獲取data中的值,好用來賦值
  for (var i = 0; i < date.length; i++) {
   if (selectedList.indexOf(date[i])!=-1) { //判斷所有的日期date在所選擇的列表中是否存在,存在則給class
    selected[date[i]] = true;
   }else{
    selected[date[i]] = false;
   }
  }
   this.setData({selected:selected});
 },
 formSubmit:function(e){
  //提交后臺
  console.log(e);
 },

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI