微信小程序加入购物车方法更新?

微信小程序加入购物车方法更新?,第1张

微信小程序的购物车功能

商品列表页

index.wxml

中,给下单按钮绑定一个添加购物车的事件

addCart

,使用

catchtap

是不会冒泡,同时传入

data-item

,当前的商品,代码如下所示:

1

<view class="order" catchtap="addCart" data-item="{{ item }}">下单</view>

index.js

中,在

Page

中,定义

addCart

事件。对此,可以分析一下当点击按钮以后添加购物车的逻辑:

拿到点击要添加入到购物车的商品

判断该商品在不在购物车里面

如果不在, 把该商品添加到购物车里面, 并且新加一个字段

num = 1

如果在,修改改商品的

num

值 累加

addCart

中,第一步拿到该商品,通过

e.currentTarget.dataset

获取。第二步,判断该商品在不在购物车里面,根据

_id

尝试从购物车里面获取数据,看能不能获取的到。使用

try...catch

,在有值的情况下,把购物车里面的该商品的

num

值累加

,并且进行下单成功的提示;在没有值,把商品添加到购物车里面,并且进行下单成功的提示,最后调用

setTabBar()

方法修改底部购物车

默认的ecshop中只能单件点击“添加到购物车”,没有办法批量添加,其实很简单,我们68ecshop可以用函数 addToCart()来实现。下面我们就来讲一下具体的 *** 作方法。

第一,修改商品列表模板 /themes/default/library/goods_list.lbi,在每个商品的前面增加一个复选框按钮。在74行的样子增加以下的代码:

<input type="checkbox" value="{$goods.goods_id}" />

第二,随便找个位置,增加可以添加选定商品到购物车的链接。代码如下:

<a href="javascript:addSelectedToCart('goodslist')">Add selected products to cart</a>

第三,添加循环将选定商品加入购物车的函数,打开/js/common.js文件,在第36行,加入下面的代码:

/*

*添加选定商品到购物车

*/

function addSelectedToCart(p)

{

for ( var i=0i<document.getElementById(p).elements.lengthi++ )

{

var e = document.getElementById(p).elements[i]

if ( (e.type=='checkbox')&&(!e.disabled) )

{

if ( e.checked )

{

addToCart(e.value)

}

}

}

}

import java.awt.*

import java.awt.event.*

class ShopFrame extends Frame implements ActionListener

{ Label label1,label2,label3,label4

Button button1,button2,button3,button4,button5

TextArea text

Panel panel1,panel2

static float sum=0.0f

ShopFrame(String s)

{ super(s)

setLayout(new BorderLayout())

label1=new Label("面纸:3元",Label.LEFT)

label2=new Label("钢笔:5元",Label.LEFT)

label3=new Label("书:10元",Label.LEFT)

label4=new Label("袜子:8元",Label.LEFT)

button1=new Button("加入购物车")

button2=new Button("加入购物车")

button3=new Button("加入购物车")

button4=new Button("加入购物车")

button5=new Button("查看购物车")

text=new TextArea("商品有:"+"\n",5,10)

text.setEditable(false)

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e)

{ System.exit(0)

}

}

)

button1.addActionListener(this)

button2.addActionListener(this)

button3.addActionListener(this)

button4.addActionListener(this)

button5.addActionListener(this)

panel1=new Panel()

panel2=new Panel()

panel1.add(label1)

panel1.add(button1)

panel1.add(label2)

panel1.add(button2)

panel1.add(label3)

panel1.add(button3)

panel1.add(label4)

panel1.add(button4)

panel2.setLayout(new BorderLayout())

panel2.add(button5,BorderLayout.NORTH)

panel2.add(text,BorderLayout.SOUTH)

this.add(panel1,BorderLayout.CENTER)

this.add(panel2,BorderLayout.SOUTH)

setBounds(100,100,350,250)

setVisible(true)

validate()

}

public void actionPerformed(ActionEvent e)

{ if(e.getSource()==button1)

{ text.append("一个面纸、")

sum=sum+3

}

else if(e.getSource()==button2)

{ text.append("一只钢笔、")

sum=sum+5

}

else if(e.getSource()==button3)

{ text.append("一本书、")

sum=sum+10

}

else if(e.getSource()==button4)

{ text.append("一双袜子、")

sum=sum+8

}

else if(e.getSource()==button5)

{

text.append("\n"+"总价为:"+"\n"+sum)

}

}

}

public class Shopping {

public static void main(String[] args) {

new ShopFrame("购物车")

}

}

我没用Swing可能显示不出来你的效果。不满意得话我在给你编一个。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11917596.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存