欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序?qū)崿F(xiàn)多選框全選與反全選及購物車中刪除選中的商品功能

 更新時間:2019年12月17日 09:45:55   作者:愛學習的程序媛  
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)多選框全選與反全選及購物車中刪除選中的商品功能,本文通過截圖實例代碼給大家介紹的非常詳細,需要的朋友可以參考下

實現(xiàn)的效果就是:

1.點擊全選選中所有商品,再點擊全選,取消勾選
2.在選中的同時獲取需要的商品id,獲取后是以字符串拼接的形式 拼成一個字符串
3.點擊刪除按鈕時刪除選中的商品

點擊全選

在這里插入圖片描述

再次點擊全選框

在這里插入圖片描述

wxml關鍵代碼

重要代碼

value="{{item.goods_id}}" -->checkbox被選中的值就是這個goods_id checked="{{item.checked}}" -->checked代表選中與否 ,ture選中,false未選中

//刪除購物車商品的按鈕
 <view bindtap="delete_car" class="btn_delete">刪除</view>
//購物車商品部分
 <checkbox-group bindchange="checkboxChange">
  <view wx:for="{{car_goods}}" class="car_list" wx:key="key" > 
   <label class="checkbox">
   <checkbox value="{{item.goods_id}}" checked="{{item.checked}}" class="checkbox"/> 
   </label>
   <image src="/static/images/goods/{{item.goods_picture}}" class="goods_img" bindtap="gotodetail"></image> 
   <view class="box1" bindtap="gotodetail">
   <view class="goods_name" >{{item.goods_name}}</view>
   <view class="fahuo">24小時內(nèi)發(fā)貨</view>
   <view class="goods_price"style="color: rgb(241, 32, 32)">¥{{item.goods_price}}</view>
   </view>
   <view class="box2" >
   <image src="/static/images/commom/jian.png" class="jian_img" bindtap="add_goods"></image>
   <text class="goods_num">1</text>
   <image src="/static/images/commom/jia.png" class="jia_img" bindtap="delete_goods"></image>
   </view>
  </view>
 </checkbox-group>

//全選框
 <checkbox class="checkbox" bindtap="selectall"/> 
 <view class="quanxuan">全選</view>

全選反選 js 關鍵代碼

data: {
 select_all: false,
 car_goods:[
 ],
 checkbox_goodsid:'',
 },
 /**
 * 全選與反全選
 */
 selectall: function (e) {
 var that = this;
 var arr = '0';
 //that.data.car_goods.length是商品的個數(shù)
 for (let i = 0; i < that.data.car_goods.length; i++) {
 //循環(huán)給每個商品的checked賦值
  that.data.car_goods[i].checked = (!that.data.select_all)
  if (that.data.car_goods[i].checked == true) {
  // 全選獲取選中的值 以字符串拼接的形式 拼成一個字符串
   arr = arr +","+ that.data.car_goods[i].goods_id;
  }
 }
 console.log("arr="+arr)
 //賦值
 that.setData({
  car_goods: that.data.car_goods,
  select_all: (!that.data.select_all),
  checkbox_goodsid: arr
 })
 },
 
 // 單選
 checkboxChange: function (e) {
 var that =this;
 //這加個0 是我為了方便后臺處理。
 var checkbox_goodsid = 0+ ','+that.data.checkbox_goodsid
 this.setData({
  checkbox_goodsid: checkbox_goodsid//單個選中的值
 })
 console.log("checkbox_goodsid=" +that.data.checkbox_goodsid)
 },

  購物車刪除選中商品的 關鍵js代碼:

 

/**
 * 刪除選中的商品
 */
 delete_car:function(){
 var that = this
 var checkbox_goodsid = that.data.checkbox_goodsid
 console.log("點擊刪除選中的商品id" + checkbox_goodsid)
 if (checkbox_goodsid==""){
  wx.showToast({
  title: '您尚未選中商品',
  duration: 2000,//持續(xù)時間
  icon: 'none'
  })
 }
 else{
  wx.showModal({
  title: '提示',
  content: '您是否要刪除已選中商品',
  success: function (res) {
   if (res.confirm) {//這里是點擊了確定以后
   //刪除購物車的所有商品
   console.log("點擊確定的商品id" + checkbox_goodsid)
   wx.request({
    url: 'http://localhost:8080/delete_choosegoods',
    data:{
    checkbox_goodsid: checkbox_goodsid
    },
    success: function (e) {
    //頁面刷新
    const pages = getCurrentPages()
    const perpage = pages[pages.length - 1]
    perpage.onLoad() 
    }
   })
   } else {//這里是點擊了取消以后
   console.log('用戶點擊取消')
   }
  }
  })
 }
 },

刪除商品的后臺關鍵代碼

action.java代碼

/*
 * 刪掉購物車選中的商品
* */
 @RequestMapping("/delete_choosegoods")
 public Integer delete_choosegoods(String checkbox_goodsid){
  System.out.println("checkbox_goodsid::"+checkbox_goodsid);
  String openid = (String) redisTemplate.boundValueOps("openid").get();
  int n = 0;

  String[] arrays2 =checkbox_goodsid.split(",");
  System.out.println(",分割后的0"+arrays2[0]);

   for(int i=1;i<arrays2.length;i++){
   int goods_id = Integer.parseInt(arrays2[i].toString());
    System.out.println("goods_id"+goods_id);
   n = goodsService.delete_cargoods(openid,goods_id);
  }
  return n;
 }

如果看到這里還是看不懂:可以看一下下面這個文直接復制他的代碼去試一下,可以直接運行,我覺得挺好的

微信小程序獲取復選框全選,反選選中的值

代碼運行的效果圖如下:

在這里插入圖片描述

但是我把他的方法用在我的頁面中出現(xiàn)了幾個問題

ps:1,2問題已解決:that.data.listData[i].code.split(',') 已經(jīng)是一個數(shù)組 不需要加concat方法。

arr = arr.concat(that.data.listData[i].code.split(','));

我使用 split會報錯

2.去掉split 單選我獲得的數(shù)據(jù)傳到后臺是[“1”,“2”,“3”]類型的

全選是[1,2,3]類型的(這樣子傳到后臺的話,需要在后臺進行分割獲取值。)

先通過]分割在用[分割再用,分割,因為還可能有"",所以在循環(huán)里還要用雙引號封

String[] arrays = checkbox_goodsid.split("]");
System.out.println("]分割后的arrays[0]"+arrays[0]);

String[] arrays1= arrays[0].split(" \\[");
System.out.println("[分割后的0:"+arrays1[0]);
 
String[] arrays2 =arrays1[arrays1.length-1].split(",");
System.out.println(",分割后的0"+arrays2[0]);
for(int i=1;i<arrays2.length;i++){
//這里通過"分割獲取信息,但需要用\"對雙引號進行轉(zhuǎn)義
獲取后轉(zhuǎn)成整型。
 }

3.使用后來的自己的代碼獲取的數(shù)據(jù)類型是下面這種

前臺輸出

在這里插入圖片描述

傳入后臺輸出

總結

以上所述是小編給大家介紹的微信小程序?qū)崿F(xiàn)多選框全選與反全選及購物車中刪除選中的商品功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關文章

最新評論