社区
JavaScript
帖子详情
求助!做购物网站的购物车怎么循环遍历出加入购物车的商品并且用js实现全选,反选,数量选择
q790114736
2016-03-25 09:11:13
做购物网站的购物车怎么循环遍历出加入购物车的商品并且用js实现全选,反选,数量选择,删除商品等等。
谢谢大神们
...全文
562
4
打赏
收藏
求助!做购物网站的购物车怎么循环遍历出加入购物车的商品并且用js实现全选,反选,数量选择
做购物网站的购物车怎么循环遍历出加入购物车的商品并且用js实现全选,反选,数量选择,删除商品等等。 谢谢大神们
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kwc1314
2017-12-20
打赏
举报
回复
楼主,求分享。
代号1024
2016-04-01
打赏
举报
回复
//#region 编辑 var elBuyEvent = page.find(".j_BuyEvent"), elOtherEvent = page.find(".j_OtherEvent"), elGoodsList = page.find(".j_GoodsList"); page.find(".j_Edit").bind("tap", function (ev) { ev.preventDefault(); var me = $(this); me.toggleClass("active"); if (me.hasClass("active")) { me.text("完成"); elBuyEvent.hide(); elOtherEvent.show(); elCheckAll.attr("data-type", "edit"); elGoodsList.addClass("edit"); } else { me.text("编辑"); elBuyEvent.show(); elOtherEvent.hide(); elCheckAll.attr("data-type", "buy"); elGoodsList.removeClass("edit"); totalPrice(); } }); //#endregion //#region 判断是否选中 var skuidarr = null; var cartidarr = ""; function isCheck() { cartidarr = ""; var isCheck = false; skuidarr = new Array(); page.find(".j_CheckSingle").each(function () { if ($(this).prop("checked")) { skuidarr.push($(this).val()); if (cartidarr != "") { cartidarr += "," + $(this).attr("data-value"); } else { cartidarr = $(this).attr("data-value"); } } }); if (skuidarr.length > 0) { isCheck = true; } return isCheck; } //#endregion //#region 删除 page.find(".j_DeleteAll").bind("tap", function (ev) { ev.preventDefault(); if (!isCheck()) { $setAlert("请选择需要删除的商品"); return false; } $confirmDialog("确定删除选中的商品吗?", function () { //TODO:删除 page.find(".j_CheckSingle").each(function () { var me = $(this); if (me.prop("checked")) { var id = me.attr("data-value"); //TODO:删除 $.ajax({ async: false, data: { id: id }, url: 'cart.html/DeleteCart', type: "post", success: function (resText, state, xhr) { if (xhr.valid) { $Goto("cart.html"); } }, error: function () { alert(arguments[1]); } }); } }); }); }); page.find(".j_Delete").bind("tap", function (ev) { ev.preventDefault(); var me = $(this); $confirmDialog("确定删除该商品吗?", function () { //TODO:删除 var id = me.attr("data-value"); $.ajax({ data: { id: id }, url: 'cart.html/DeleteCart', success: function (resText, state, xhr) { if (xhr.valid) { //me.parents("li").remove(); //totalPrice(); $Goto("cart.html"); } } }); }); }); //#region //#region 收藏 page.find(".j_Collect").bind("tap", function (ev) { ev.preventDefault(); if (!isCheck()) { $setAlert("请选择需要移入收藏的商品"); return false; } $confirmDialog("确定将选中的商品移入收藏夹吗?", function () { //TODO:收藏 page.find(".j_CheckSingle").each(function () { var me = $(this); if ($(this).prop("checked")) { var id = me.attr("data-value"); var productid = me.attr("data-productId"); $.ajax({ async: false, data: { id: id, productId: productid }, async: false, url: 'cart.html/ConvertToFavorite', success: function (resText, state, xhr) { if (xhr.valid) { me.parents("li").remove(); $setAlert("收藏成功!"); $Goto("cart.html"); } } }); } }); }); }); //#region //#region 结算 elForm.validate({ submitHandler: function (form, ev) { ev.preventDefault(); if (!isCheck()) { $setAlert("请选择需要购买的商品"); return false; } var skuid_arr = JSON.stringify(skuidarr); var IsCanBuyMsg = getIsCanBuyMsg(skuid_arr); if (IsCanBuyMsg != "") { $setAlert(IsCanBuyMsg); elSubmint.prop("disabled", false); $.mobile.loading("hide"); return false; } //TODO:结算 elSubmint.prop("disabled", false); $.mobile.loading("hide"); $Goto("confirmorder.html?cartidarr=" + cartidarr); }, invalidHandler: function () { return false; } }); //#endregion //#region 判断库存是否足够 function GetStorage(skuId) { var storage = 0; $.ajax({ data: { skuId: skuId }, url: 'product_detail.html/GetStorageBySku', async: false, success: function (resText, state, xhr) { if (xhr.valid) { var obj = $.parseJSON(resText); storage = obj.storage; } } }); return storage; } //#endregion //#region 判断库存是否足够 function GetStorage(skuId) { var storage = 0; $.ajax({ data: { skuId: skuId }, url: 'product_detail.html/GetStorageBySku', async: false, success: function (resText, state, xhr) { if (xhr.valid) { var obj = $.parseJSON(resText); storage = obj.storage; } } }); return storage; } //#endregion //#region 去结算时判断购物车中选中的商品是否已下架或删除 function getIsCanBuyMsg(skuid_arr) { var msg = ""; $.ajax({ url: 'cart.html/IsCanBuy', data: { skuid_arr: skuid_arr }, async: false,//同步处理 success: function (resText) { var rtn = $.parseJSON(resText || "{}"); msg = rtn.Msg; } }); return msg; } //#endregion });
代号1024
2016-04-01
打赏
举报
回复
page.find(".j_Plus").bind("tap", function (ev) { ev.preventDefault(); var me = $(this); var elNum = me.prev(".ui-input-text").find("input[type=text]"); var oldCount = $To.Num(elNum.attr("data-count")); totalPrice_count(elNum); var productId = elNum.attr("data-productId"); var skuId = elNum.attr("data-skuId"); var storage = GetStorage(skuId); var currentNum = parseInt(elNum.val()) + 1; if (parseInt(storage) >= currentNum) { if (productId) { $.ajax({ data: { id: productId, num: 1, skuId: skuId }, url: 'cart.html/AddCart', success: function (resText, state, xhr) { if (xhr.valid) { } } }); } } else { if (storage == 0) { $setAlert("已售罄,无法购买!"); } else { $setAlert("库存不够,仅限购买" + storage + "份!"); elNum.val(storage); } return false; } }); var oldCount; page.find(".j_Positive").bind("blur", function () { var me = $(this); ////手写商品数量的时候,修改购物车中的商品数量 elBuyCarEvent.show(); var newCount = me.val(); if (newCount < 0) { $setAlert("购买数量不能为负数哦"); return false; } var num = newCount - oldCount; totalPrice_count(me); var productId = me.attr("data-productId"); var skuId = me.attr("data-skuId"); var storage = GetStorage(skuId); if (parseInt(storage) >= num) { if (productId) { $.ajax({ data: { id: productId, num: num, skuId: skuId }, url: 'cart.html/AddCart', success: function (resText, state, xhr) { if (xhr.valid) { } } }); } } else { $setAlert("库存不足"); me.val(storage); var num2 = storage - oldCount; $.ajax({ data: { id: productId, num: num2, skuId: skuId }, url: 'cart.html/AddCart', success: function (resText, state, xhr) { if (xhr.valid) { } } }); return false; } }).bind("focus", function () { var me = $(this); oldCount = me.val(); elBuyCarEvent.hide(); }); function totalPrice_count(elNum) { setTimeout(function () { if (elNum.attr("data-price") != undefined) { var elParentItem = elNum.parents(".j_SingleItem"); var oldCount = $To.Num(elNum.attr("data-count")); elParentItem.attr("data-pirce", $To.Money($To.Num(elNum.attr("data-price")) * elNum.val())); //elParentItem.find(".j_SinglePrice").text("¥" + $To.Money($To.Num(elNum.attr("data-price")) * elNum.val())); elNum.attr("data-count", elNum.val()); if (elParentItem.find(".j_CheckSingle").prop("checked")) { var elSum = page.find(".j_PriceSum"); var sumVal = $To.Num(elSum.attr("data-sum")) + $To.Num(elNum.attr("data-price")) * ($To.Num(elNum.val()) - oldCount); elSum.attr("data-sum", sumVal).text($To.Money(sumVal)); } } }, 1) } //#endregion //#region 清除失效商品 page.find(".j_ClearGoods").bind("tap", function (ev) { ev.preventDefault(); var me = $(this); //TODO:清除失效商品 page.find(".j_LoseGoods").each(function () { var me = $(this); var id = me.attr("data-value"); $.ajax({ data: { id: id }, url: 'cart.html/DeleteCart', success: function (resText, state, xhr) { if (xhr.valid) { me.parent().remove(); page.find(".j_LoseGoods").hide(); $Goto("cart.html"); } } }); }); }); //#endregion
代号1024
2016-04-01
打赏
举报
回复
$(document).on("pageinit", "#Cart", function () { var page = $(this); var elForm = page.find('form'); var elBuyCarEvent = page.find("#J_BuyCarEvent"); var elForm = page.find('form'), elSubmint = elForm.find("button[type=submit]"); var elj_GoodsList = page.find(".j_GoodsList"), elSingleItem = page.find(".j_SingleItem"), elLoseGoods = page.find(".j_LoseGoods"), elLoseGoods = page.find(".j_LoseGoods"); //控制按键的显示 if (elLoseGoods.length == 0) { page.find(".j_ClearGoods").remove(); } if (elSingleItem.length != 0) { page.find(".j_buyCarTips").remove(); } else { if (elLoseGoods.length == 0) { page.find(".j_Edit").remove(); } page.find("#J_BuyCarEvent").remove(); } //#region 合计 数量 var elCheckAll = page.find(".j_CheckAll"); elCheckAll.change(function () { var me = $(this); page.find(".j_CheckSingle").prop("checked", me.prop("checked")).checkboxradio("refresh"); if (me.attr("data-type") != "edit") { totalPrice(); } }); page.find(".j_CheckSingle").change(function () { var me = $(this); if (me.prop("checked")) { var isCheckAll = true; page.find(".j_CheckSingle").each(function () { if (!$(this).prop("checked")) { isCheckAll = false; return false; } }); elCheckAll.prop("checked", isCheckAll).checkboxradio("refresh"); } else { elCheckAll.prop("checked", false).checkboxradio("refresh"); } if (elCheckAll.attr("data-type") != "edit") { totalPrice(); } }); function totalPrice() { var priceSum = 0, count = 0; page.find(".j_CheckSingle").each(function () { var me = $(this); if (me.prop("checked")) { count++; priceSum += $To.Num(me.parents(".j_SingleItem").attr("data-pirce")); } }); page.find(".j_PriceSum").attr("data-sum", $To.Money(priceSum)).text("¥" + $To.Money(priceSum)); elSubmint.text("结算(" + count + ")"); } page.find(".j_Minus").bind("tap", function (ev) { ev.preventDefault(); var me = $(this); var elNum = me.next(".ui-input-text").find("input[type=text]"); var oldCount = $To.Num(elNum.attr("data-count")); if (parseInt(elNum.val()) == 1) { return false; } totalPrice_count(elNum); var productId = elNum.attr("data-productId"); var skuId = elNum.attr("data-skuId"); if (productId) { $.ajax({ data: { id: productId, num: -1, skuId: skuId }, url: 'cart.html/AddCart', success: function (resText, state, xhr) { if (xhr.valid) { } } }); } });
vue+vant-UI框架
实现
购物车
的复选框
全选
和
反选
功能
购物车
页面的设计图
商品
的列表 代码: (item,index) shoppingListData.rows :key=index > :value=item.goods_id v-model item.isChecked checked-color=#07c160 @click> <div
微信小程序
购物车
实战:加减
商品
数量
,汇总价格,
全选
与全不选 ... ...
摘要: 加减
商品
数量
,汇总价格,
全选
与全不选 设计思路: 一、从网络上传入以下
Js
on数据格式的数组 1.标题title 2.图片地址 3.
数量
num 4.价格price 5.是否选中selected 二、点击复选框toggle操作 如已经选中的,...
Web前端开发经典案例之vue框架开发电商项目百草味案例(二)
通过计算属性来开发计算总价格的功能 在
购物车
组件中控制每一个
商品
的复选框 在
购物车
组件中
全选
复选框和每一个
商品
复选框关联 下载并且安装三级联动v-distpicker插件
加入
编辑地址功能处理视图层和数据层
《使用vue2.0
实现
购物车
和地址选配功能》源代码
(before为老师未写功能的源码,after为
实现
功能后的源码); 注意:以上源码请在 ...3)
实现
了
全选
和取消
全选
的功能,通过v-bind:class 4)
实现
商品
金额的计算和删除功能; 5)收货地址的卡片
选择
和设置默认地址;
微信小程序
购物车
简单实例
微信小程序,这里
实现
购物车
功能的小demo,有需要此功能的朋友可以参考下。 摘要: 加减
商品
数量
,汇总价格,
全选
与全不选 设计思路: 一、从网络上传入以下
Js
on数据格式的数组 1.
购物车
id:cid 2.标题title 3.
数量
...
JavaScript
87,914
社区成员
224,617
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章