微信小程序 類似 淘寶的購物車 門店下的商品 以及全選 不完整 的另一種方法

微信截圖_20190110111629.png

wxml

  <!--pages/Shop_car/Shop_car.wxml-->
  <view>
    <view class="table-view" style="margin-bottom: 400rpx;">
      <view class="teacher-kes" wx:for="{{data}}" wx:key="{{index}}" wx:for-index="groupIndex">
        <view class="teacher-ke">
          <checkbox-group bindchange="checkall"  data-index="{{groupIndex}}">
          <checkbox checked='{{item.checkeedAll}}'></checkbox>
          </checkbox-group>
          <text class="teacher-ke-name">{{item.name}}</text>
        </view>
        <checkbox-group bindchange="Checks1" data-index="{{groupIndex}}" >
          <view class="hot-div hot-checked " wx:for="{{item.data}}" data-kc="{{item}}" wx:key="{{index}}"  >
            <checkbox checked="{{item.checked}}"></checkbox>
            <image src="{{item.url}}" class="Hot-div-img"></image>
            <view class="Hot-div-shop ">
              <view class="hot-price-title">{{item.classtitle}}</view>
              <view class="shou-word " style="margin-top: 12rpx;">課程規(guī)格:幾節(jié)課</view>
              <view class="order-red" style="margin-top: 8rpx;">
                ¥
                <text>9.9</text>
                <image src='http://bd.eacase.com/budongimg/shanchu.png'></image>
              </view>
              <view>
              </view>
            </view>
          </view>
        </checkbox-group>
      </view>
    </view>
    <view class="shop-check">
      <checkbox-group bindchange="AllTap" data-index="{{index}}">
        <checkbox checked='{{checkedAll}}'></checkbox>
      </checkbox-group>
      <text class="shop-check-text">全選</text>
      <view class="shop-check-right">
        <view class="shop-check-he">
          合計:
          <text>¥ 0</text>
          </view>
          <view class="shop-check-jie">結(jié)算(0)</view> 
        </view>
      </view>
  </view>

js

    // pages/Shop_car/Shop_car.js
    Page({

      /**
       * 頁面的初始數(shù)據(jù)
       */
      data: {
        data: [
          {
            name: "藍調(diào)小生1",
            index: 0,
            state: 0,
            checkeedAll: false,
            data: [
              {
                url: "http://bd.eacase.com/budongimg/zuixin1.png",
                classtitle: "鋼琴1",
                index: 0,
                state: 0,
                checked: false
              }, {
                url: "http://bd.eacase.com/budongimg/zuixin1.png",
                classtitle: "吉他1",
                index: 1,
                state: 0,
                checked: false
              },
              {
                url: "http://bd.eacase.com/budongimg/zuixin1.png",
                classtitle: "吉他1",
                index: 1,
                state: 0,
                checked: false
              }
            ]
          },
          {
            name: "藍調(diào)小生2",
            index: 0,
            state: 0,
            checkeedAll: false,
            data: [
              {
                url: "http://bd.eacase.com/budongimg/zuixin1.png",
                classtitle: "鋼琴2",
                index: 0,
                state: 0,
                checked: false
              }, {
                url: "http://bd.eacase.com/budongimg/zuixin1.png",
                classtitle: "吉他2",
                index: 1,
                state: 0,
                checked: false
              }
            ]
          },
        ],
        checkedAll: false,

      },

      checkall: function (e) {
        var index = e.target.dataset.index;//點擊元素的下標
        var list = this.data.data[index].data; //獲取到了 當前老師元素的 下的所有課程
        var status = this.data.data[index].checkeedAll; //獲取老師下的checkeedAll為什么
        for (var i = 0; i < list.length; i++) {
          list[i].checked = !status; //將當前老師元素下的所有課程 的checked都為 false  或者是  true
        };
        var dataIndex = 'data[' + index + '].data';//這個可以拿到 data 中 index的老師下的所有課程  數(shù)據(jù)
        var dataStatus = 'data[' + index + '].checkeedAll';//當前老師元素下checkeedAll的屬性 
        this.setData({
          [dataIndex]: list,
          [dataStatus]: !status,

        });
      },

      //點擊課程上的 checkbox

      Checks1: function (e) {
        var index = e.target.dataset.index; // 拿到老師的index
        var list = this.data.data[index].data;//獲取到了 當前老師元素的 下的所有課程
        var checkedList = e.detail.value; //只有選中的才會拿到這個值
        var dataStatus = 'data[' + index + '].checkeedAll'; //老師index下的值
        var status = list.length == checkedList.length ? true : false;
        this.setData({
          [dataStatus]: status,
        });
      },
      //點擊全選
      AllTap: function (e) {
        var checkedAll = this.data.checkedAll;
        var list1 = this.data.data;
        for (var i = 0; i < list1.length; i++) {
          list1[i].checkeedAll = !checkedAll;
          var list2 = this.data.data[i].data;
          for (var a = 0; a < list2.length; a++) {
            list2[a].checked = !checkedAll;
          }
        }
        this.setData({
          checkedAll: (!checkedAll),
          data: list1,
        });
      },
      /**
       * 生命周期函數(shù)--監(jiān)聽頁面加載
       */
      onLoad: function (options) {

      },

      /**
       * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
       */
      onReady: function () {

      },

      /**
       * 生命周期函數(shù)--監(jiān)聽頁面顯示
       */
      onShow: function () {

      },

      /**
       * 生命周期函數(shù)--監(jiān)聽頁面隱藏
       */
      onHide: function () {

      },

      /**
       * 生命周期函數(shù)--監(jiān)聽頁面卸載
       */
      onUnload: function () {

      },

      /**
       * 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作
       */
      onPullDownRefresh: function () {

      },

      /**
       * 頁面上拉觸底事件的處理函數(shù)
       */
      onReachBottom: function () {

      },

      /**
       * 用戶點擊右上角分享
       */
      onShareAppMessage: function () {

      }
    })

wxss

  /* pages/Shop_car/Shop_car.wxss */
  .teacher-kes{
    width:90%;
    margin: 0rpx auto;
    margin-top: 36rpx;
    background: #fff;
    border-radius: 20rpx;
    box-shadow: 0rpx 0rpx 30rpx rgba(0,0,0,0.1);
  }
  .teacher-ke{
    width:100%;
    height:80rpx;
    padding: 12rpx 24rpx;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-bottom:2rpx solid #f1f1f1;
  }
  .teacher-ke-name{
    height: 52rpx;
    line-height: 52rpx;
    color: #333;
    float: left;
    font-size: 32rpx;
  }

  .hot-checked {
    width:100%;
    padding:24rpx;
    display: flex;
    justify-content: flex-start;
    align-items: center; 
  }
  .Hot-div-img{
    width:35%;
    height: 160rpx;
    margin-right: 20rpx;
  } 
  .Hot-div-shop {
    width:55%;
    height: 160rpx;
    padding: 12rpx 0rpx;
  }
  .hot-price-title{
    font-size:30rpx;
    line-height:25rpx; 
    color: #333; 
  }
  .shou-word {
    font-size:28rpx;
    color: #ababab;
    margin-top:10rpx; 
  }
  .order-red{
    font-size:28rpx;
    color: #FF6300;
    display: flex;
  }
  .Hot-div-shop .order-red image{
    width:40rpx;
    height: 40rpx;
    margin-left: 62%;
  }
  .shop-check{
    width:100%;
    background: #fff;
    padding:0rpx 24rpx;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: fixed;
    bottom: 0rpx; 
    left: 0rpx;
  }
  .shop-check-text{
    font-size: 30rpx;
    color: #333;
  }
  .shop-check-right {
    width:68%;
    display: flex;
    justify-content:flex-end;
    align-items: center;
    margin-left: 15%;
  }
  .shop-check-he{
    font-size: 28rpx;
    color: #333;
  }
  .shop-check-he span{
    color:#FF4500;
    font-size: 28rpx;
  }
  .shop-check-jie{
    width: 180rpx;
    height: 70rpx;
    line-height: 70rpx;
    text-align: center;
    margin: 10rpx 0rpx;
    border-radius: 40rpx;
    font-size: 32rpx;
    color: #fff !important;
    background: #027ee7;
    margin-left: 20rpx;
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鲜漩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子仅偎,更是在濱河造成了極大的恐慌黔宛,老刑警劉巖吗跋,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異宁昭,居然都是意外死亡跌宛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門积仗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疆拘,“玉大人,你說我怎么就攤上這事寂曹“テ” “怎么了回右?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長漱挚。 經(jīng)常有香客問我翔烁,道長,這世上最難降的妖魔是什么旨涝? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任蹬屹,我火速辦了婚禮,結(jié)果婚禮上白华,老公的妹妹穿的比我還像新娘慨默。我一直安慰自己,他們只是感情好弧腥,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布厦取。 她就那樣靜靜地躺著,像睡著了一般管搪。 火紅的嫁衣襯著肌膚如雪虾攻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天更鲁,我揣著相機與錄音霎箍,去河邊找鬼。 笑死岁经,一個胖子當著我的面吹牛朋沮,可吹牛的內(nèi)容都是我干的蛇券。 我是一名探鬼主播缀壤,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼纠亚!你這毒婦竟也來了塘慕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蒂胞,失蹤者是張志新(化名)和其女友劉穎图呢,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骗随,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蛤织,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鸿染。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片指蚜。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖涨椒,靈堂內(nèi)的尸體忽然破棺而出摊鸡,到底是詐尸還是另有隱情绽媒,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布免猾,位于F島的核電站是辕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏猎提。R本人自食惡果不足惜获三,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望忧侧。 院中可真熱鬧石窑,春花似錦、人聲如沸蚓炬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肯夏。三九已至经宏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間驯击,已是汗流浹背烁兰。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留徊都,地道東北人沪斟。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像暇矫,于是被迫代替她去往敵國和親主之。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容