社区
JavaScript
帖子详情
求助!做购物网站的购物车怎么循环遍历出加入购物车的商品并且用js实现全选,反选,数量选择
q790114736
2016-03-25 09:11:13
做购物网站的购物车怎么循环遍历出加入购物车的商品并且用js实现全选,反选,数量选择,删除商品等等。
谢谢大神们
...全文
567
4
打赏
收藏
求助!做购物网站的购物车怎么循环遍历出加入购物车的商品并且用js实现全选,反选,数量选择
做购物网站的购物车怎么循环遍历出加入购物车的商品并且用js实现全选,反选,数量选择,删除商品等等。 谢谢大神们
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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) { } } }); } });
29 Flutter仿京东商城项目
购物车
之
购物车
数量
加减
全选
反选
(25分53秒).rar
29 Flutter仿京东商城项目
购物车
之
购物车
数量
加减
全选
反选
(25分53秒).rar
关于
购物车
全选
反选
按钮
关于电商
购物车
全选
按钮在一个条目取消时
全选
按钮的状态改变的逻辑
实现
,在所有条目都选中时
全选
又变为选中
JS
简单表格列表
全选
反选
代码.zip
JS
简单表格列表
全选
反选
代码,原生
JS
,点击表头按钮,
实现
全选
、
反选
操作,实用的网页代码。
全选
反选
复选框
JS
实现
包含两种通过
JS
方式
实现
的常用
全选
反选
复选框
Angular
JS
实现
购物车
全选
反选
功能
主要介绍了Angular
JS
实现
购物车
全选
反选
功能,需要的朋友可以参考下
JavaScript
87,996
社区成员
224,708
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章