jsp 购物车

2023-11-15

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<!doctype html>
<html lang="zh-cn">

<head>
  <title>购物车</title>
  <%@ include file="/commons/meta.jsp"%>
 
  <script src="${ctx}/js/picEffect.js?v=1.11"></script>
  <script src="${ctx}/js/showpic.js"></script>
  <link rel="stylesheet" href="${ctx}/css/comment.css?v=1.0"/>
  <link rel="stylesheet" href="${ctx}/css/weixin/mall.css"/>
  <style>
  .selMemInput{background-color:#fff;color:#666666;border:0px;width:160px;box-sizing:border-box;height:26px;line-height:20px;}
  .mallBgSel{background:url(${ctx}/images/v2/parttopb.png) no-repeat;}
  .nn{font-size:20px;color: #FFFFFF}
  font{font-size:12px;}
  .toup{font-size:10px;}
  .budong{position:fixed; bottom:0;left:0; width:100%; background:#f2f2f2;}
    .buyBut{background-color:#FF6666;height:20px;line-height:20px;width:100px;height:40px;text-align:center;}
      .mall_div{background-color:#FF6666;height:24px;line-height:24px;width:22%;text-align:center;}
      .jiajian{height:30px;line-height:30px;width:48px;height:30px;text-align:center;}
      .cbox{display:block;width:16px;height:16px;border:1px solid #ccc;background: #fff;}
      .cbox.checked{background: #D33263;border-color:#D33263;}
      .cbox.checked:after{content:"\2714";color:#FFFFFF;}
  </style>
</head>
<body>
    <div id="topmsgdiv">
  <jsp:include flush="true" page="/WEB-INF/pages/showmsg.jsp"></jsp:include>
  </div>
    <table width=100% style='border-bottom: 2px solid #EDECE9' >        
            <tr>
                <td width=100%>
                    <table width=100% height=6% style='text-align:left;'>
                        <tr>
                            <td >
                                <div style='margin-top:3%'>
                                    <input type="checkbox"  style='margin-left:5%;width:16px;height:16px;display: none' id="choice" name="choice" value='' οnclick="allChoiceMoney()"/>
                                    <div style="float: left;margin-left: 5%"><span class="cbox radius20" name='cbox' style='width:18px;height:18px;text-align: center;' οnclick="quan('${obj.id }','${obj.price }')" id="cboxss"></span></div>
                                    <div style="float: left;margin-left: 2%;margin-top: 1%"><font style="font-size: 12px">全选</font >   <font color="#FF9DBD" class='toup'>包租婆租客享受送货免费服务</font></div>
                                </div>
                            </td>
                        </tr>
                    </table>
                </td>    
            </tr>
            <tr>                
                <c:forEach items="${lists}" var="obj">
                
                    <table id="shanchu${obj.id }" width=100% height=12% style='border-bottom: 1px solid #EDECE9;margin-top: 1%;padding-bottom:1% '>
                        <tr >
                            <td width=12% height=10% rowspan="2">
                                <input type="checkbox" line-height style="float:left;margin-top:5%;margin-left:47%;width:15px;height:15px;display:none" id="choice${obj.id }" name="choice" value='${obj.id}' οnclick="choiceMoney('${obj.id}','${obj.price }')"/>
                                <span class="cbox radius20" name='cbox' style='margin-left: 53%' οnclick="nnnr('${obj.id }','${obj.price }')" id="cbox${obj.id }"></span>
                            </td>
                            <td width=24% rowspan="2">
                                <img style="max-width:100%;float:left" class="images_nobord" name="showpic"  src="<%=request.getContextPath()%>/upimg/mall/${obj.id}/${obj.picurl}"/>
                            </td>                
                            <td height=20%>
                                <font  class='toup'><div style='float:left;margin-left:0px;font-size: 10px'>${obj.name }</div></font></div>
                            </td>
                        </tr>    
                                    <c:forEach items="${list}" var="objs">
                                        <c:if test="${obj.id==objs.mallid}">
                                            <input type="hidden" id="money${obj.id }" class="aat" value="${objs.num*obj.price}" />
                                            <input type="hidden" id="univalence${obj.id }" value="${obj.price}" />
                                            <%--<tr>
                                                <td style='text-align:left' height="40%">
                                                    --%><%--<div style='margin-top:1% '><span id="typeMoney${obj.id }" ><font style="font-size: 14px" color='#D33263'>¥${objs.num*obj.price}</font></span></div>
                                                --%><%--</td>
                                            </tr>
                                            --%><input type="hidden" id="mallid" value="${obj.id}"/>
                                            <tr>
                                                <td  >
                                                    <%--<div style='float:left'><button style="width:22px;height:22px" οnclick="subtract('${obj.id}')">-</button><input id="spinner${obj.id}" style="width:18px;height:20x;text-align: center;" value="${objs.num }"><button style="width:22px;height:22px" οnclick="add('${obj.id}')">+</button></div>
                                                    --%>
                                                    <div style='margin-top:1%;text-align: left '><span id="typeMoney${obj.id }" ><font style="font-size: 14px" color='#D33263'>¥${objs.num*obj.price}</font></span></div>
                                                    <div class='jiajian radius6' style='float:left;border: 1px solid #EDECE9;width:38%;'>
                                                        <input type='hidden' id="spinner${obj.id}" value='${objs.num }'/>
                                                        <div style='float:left;width:24%;'><span style='font-size: 30px;text-align: center;'><a οnclick="subtract('${obj.id}')">-</a></span></div>
                                                        <div style='float:left'><span class='vertical' style='font-size: 20px;color:#EDECE9 ;'>|</span></div>
                                                        <div style='float:left;width:38%'><span id="spinners${obj.id}" style="width:30px;height:23px;font-size: 16px;text-align:center">${objs.num }</span></div>
                                                        <div style='float:left'><span class='vertical' style='font-size: 20px;color:#EDECE9;'>|</span></div>
                                                        <div style='float:left;width:20%;'><span style='font-size: 25px;text-align: center;'><a οnclick="add('${obj.id}')">+</a></span></div>
                                                    </div>
                                                    <div style='float:left;margin-left:35%;margin-top: 3%' class="radius6 mall_div"><a class="font_a" id="buy_button"  type="button" οnclick="delectMall('${obj.id}')" />删除</a></div>
                                                </td>
                                            </tr>                                            
                                        </c:if>
                                    </c:forEach>        
                    </table>
                    
                </c:forEach>
            </tr>
    </table>
    <div style='height:60px'></div>
    
    <table class='budong' width='100%' style="border-top:2px solid #f2f2f2;border-bottom: 2px solid #CDCDB4;height:50px">
            <tr >
                <input type='hidden' id="addmnum"/>
                <input type="hidden" id="countMoneys" />
                <td width='74%'><div >
                    <div style="float:left;width:50%;text-align: right;font-size: 12px"><font>合计:</font></div><div  style="float:left;width:18%;text-align: left;font-size: 14px"  ><span id="countMoney"   ><font color='#D33263' style="font-size: 14px"/>¥0</font></span></div><div style="float:left;width:30%;text-align: right;"><span>(不含运费</span>)</div>
                    </div>
                </td>
                <td style="text-align:center;height:40px;float:left;">                
                    <div><div class="radius6 buyBut" style="margin-top:0px"><a  class="font_a" id="buy_button" style='text-align: center;height:40px;line-height:40px;font-size: 14px ' οnclick="balance()" >去结算</a></div></div>            
                </td>
            </tr>
    </table>
    <div id="tmpdiv" style="display:none">
        
    </div>
    </body>
</html>
<script type="text/javascript">
    var oldHeight="";//判断是否加载完成
      window.onscroll = function (){//滚屏加载
          var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
        var scrollHeight=document.documentElement.scrollHeight||document.body.scrollHeight;
        var windowHeight=getWindowHeight();
        if(oldHeight!=scrollHeight && scrollTop+windowHeight>=scrollHeight-30){
            //searchClick();
            oldHeight=scrollHeight;
        }
    };
    //刪除選中的商品
    function delectMall(mallid){
        var url="/shoppingCart/delectMall.do?&mallid="+mallid;
        $("#tmpdiv").load(webroot+url,function(){
            $("#shanchu"+mallid).remove();
        });
        //$("#shanchu"+mallid).detach();
    }
    //商品數量減少
    function subtract(mallid){
        var spinner=$("#spinner"+mallid).val();//商品数量
        var money=$("#univalence"+mallid).val();//商品单价
        var str=$("#choice"+mallid).is(':checked');//点击商品数量加减时 判断本商品复选框是否勾选
        if(spinner<=0){
            $("#spinner"+mallid).val(0);
            return;
        }else{
            var count=spinner*1-1;
            $("#spinner"+mallid).val(spinner*1-1);
            $("#spinners"+mallid).html(spinner*1-1);
            var moneys="<font style='font-size: 14px' color='#D33263'>¥"+money*count+"</font>";
            $("#typeMoney"+mallid).html(moneys);
            $("#money"+mallid).val(money*count);
        }
        var addmnum=$("#addmnum").val();//增加或减少后的总金额
        if(addmnum==null || addmnum==''){
            addmnum=0;
        }
        $("#addmnum").val(addmnum*1-money*1);
        
        if(str){
            var countmoney=$("#countMoneys").val();//原总金额
            var moneys="<font style='font-size: 14px' color='#D33263'>¥"+(countmoney*1-money*1)+"</font>";
            $("#countMoney").html(moneys);
            $("#countMoneys").val(countmoney*1-money*1);
        }
        var url="/shoppingCart/delectMall.do?&mallid="+mallid+"&reduce=reduce";
        $("#tmpdiv").load(webroot+url);
    }
    //商品數量增加
    function add(mallid){
        var spinner=$("#spinner"+mallid).val();//商品数量
        var count=spinner*1+1;
        var str=$("#choice"+mallid).is(':checked');//点击商品数量加减时 判断本商品复选框是否勾选
        var money=$("#univalence"+mallid).val();//商品单价
        $("#spinner"+mallid).val(spinner*1+1);
        $("#spinners"+mallid).html(spinner*1+1);
        var moneys="<font style='font-size: 14px' color='#D33263'>¥"+money*count+"</font>";
        $("#typeMoney"+mallid).html(moneys);
        $("#money"+mallid).val(money*count);
        var addmnum=$("#addmnum").val();//增加或减少后的总金额
        if(addmnum==null || addmnum==''){
            addmnum=0;
        }
        $("#addmnum").val(addmnum*1+money*1);
        if(str){
            var countmoney=$("#countMoneys").val();//原总金额
            var moneys="<font style='font-size: 14px' color='#D33263'>¥"+(countmoney*1+money*1)+"</font>";
            $("#countMoney").html(moneys);
            $("#countMoneys").val(countmoney*1+money*1);
        }
        var url="/shoppingCart/addtoBag.do?&mallid="+mallid;
        $("#tmpdiv").load(webroot+url);
    }
    <%--function add(mallid){
        var url="/shoppingCart/addtoBag.do?&mallid="+mallid;
        $("#tmpdiv").load(webroot+url);
    }--%>
    
    //点击复选框时  合计总金额
    function choiceMoney(id,picurl){
        //var str=document.getElementsByName("choice"+id);
        var str=$("#choice"+id).is(':checked');//点击商品数量加减时 判断本商品复选框是否勾选
        var money=$("#money"+id).val();
        var countmoney=$("#countMoneys").val();//原总金额
        if(str==true){
            if(countmoney==null || countmoney==''){
                countmoney=0;
            }
            var moneys="<font style='font-size: 14px' color='#D33263'>¥"+(money*1+countmoney*1)+"</font>";
            $("#countMoney").html(moneys);
            $("#countMoneys").val(money*1+countmoney*1);
        }else{
            if(countmoney==null || countmoney==''){
                var moneys="<font style='font-size: 14px' color='#D33263'>¥0</font>";
                $("#countMoney").html(moneys);
                $("#countMoneys").val(0);
            }else if(countmoney){
                var moneys="<font style='font-size: 14px' color='#D33263'>¥"+(countmoney*1-money*1)+"</font>";
                $("#countMoney").html(moneys);
                $("#countMoneys").val(countmoney*1-money*1);
            }
            
        }
    }
    //全选  总金额
    function allChoiceMoney(){
        
        var str=document.getElementsByName("choice");  
        if(str[0].checked==false){
            var type=$("input[name=choice]:checked").length;
            var moneys="<font style='font-size: 14px' color='#D33263'>¥0</font>";
            $("#countMoney").html(moneys);
            $("#countMoneys").val('0');
            $("input[name='choice']").attr("checked",false);
            for(var i=0;i<type;i++){
                var n=i+1;
                var id=str[n].value;
                var nn=$("#cbox"+id).attr('class');
                //var cc=/checked/ig.test(nn)?nn.replace('checked',''):nn.replace('checked','');
                $("#cbox"+id).attr('class','cbox radius20');
            }
            
        }else if(str[0].checked==true){
            var addmnum=$("#addmnum").val();
            var money='${type}';
            var moneys="<font style='font-size: 14px' color='#D33263'>¥"+(money*1+addmnum*1)+"</font>";
            $("#countMoney").html(moneys);
            $("#countMoneys").val(money*1+addmnum*1);
            $("input[name='choice']").attr("checked",true);

            var type=$("input[name=choice]:checked").length;
            for(var i=0;i<type;i++){
                var n=i+1;
                var id=str[n].value;
                var nn=$("#cbox"+id).attr('class');
                var cc=/checked/ig.test(nn)?(nn+' checked'):(nn+' checked');
                $("#cbox"+id).attr('class',cc);
            }
        }
        
        
    }
    //去结算
    function balance(){
        var str=document.getElementsByName("choice");//获取所有复选框选中的商品
        var mallid='';
        for(var i=0;i<str.length;i++){
           if(str[i].checked){
             mallid += str[i].value+',';//获取所有复选框选中的商品的id
           }
        }
        if(mallid==''){
            return;
        }
        var url="/shoppingCart/balance.do?&mallid="+mallid;
        $("#tmpdiv").load(webroot+url,function(){
            url="/shoppingCart/userGuide.do?curPage="+$("#curPage").val();
            openCurWin(url);
        });
    }
    //function chaCloor(field){
    //    var pig = field.checked;
    //    pig?field.nextSibling.style.backgroundColor="skyblue":field.nextSibling.style.backgroundColor="white";
    //}
    //单选
    function nnnr(id,price){
        var nn=$("#cbox"+id).attr('class');
        var cc=/checked/ig.test(nn)?nn.replace('checked',''):(nn+' checked');
        $("#cbox"+id).attr('class',cc);
        var dd=$("#cbox"+id).attr('class');
        var str=$("#choice"+id).is(':checked');
        if(str==true){
            $("#choice"+id).attr("checked",false);
            choiceMoney(id,price);
        }else if(str==false){
            $("#choice"+id).attr("checked",true);
            choiceMoney(id,price);
        }
        
    }
    //全选
    function quan(id,price){
        var nn=$("#cboxss").attr('class');
        var cc=/checked/ig.test(nn)?nn.replace('checked',''):(nn+' checked');
        $("#cboxss").attr('class',cc);
        var dd=$("#cboxss").attr('class');
        var str=$("#choice"+id).is(':checked');
        if(str==true){
            $("#choice").attr("checked",false);
            allChoiceMoney();
        }else if(str==false){
            $("#choice").attr("checked",true);
            allChoiceMoney();
        }
        
    }
</script>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jsp 购物车 的相关文章

随机推荐

  • NISEDIT如何发布,Qt如何发布文章?难道还有人不会(超详细教学,跟着走,不会你怪我)

    一 自动发布 直接运行即可 不过多阐述 二 手动发布 文件清单 ExamSys exe account txt exam txt Qt5Core dll Qt5Gui dll Qt5Widgets dll libstdc 6 dll lib
  • LeetCode中函数题中“多出来的参数“---returnsize

    转载 关于returnSize 第一次在leetcode上瞎逛就遇到了就遇到了它 int twoSum int nums int numsSize int target int returnSize 1 这个代码的实现并不是什么难解的方法
  • JVM 由哪些部分组成?

    JVM 由哪些部分组成 解析 这是对 JVM 体系结构的考察 答 JVM 的结构基本上由 4 部分组成 类加载器 在 JVM 启动时或者类运行时将需要的 class 加载到 JVM 中 执行引擎 执行引擎的任务是负责执行 class 文件中
  • Zynq7000硬件开发之芯片供电电源功耗(电流)评估

    案头语 单板硬件的主控芯片集成度越来越高 多核处理器越来越多 一块单板可能只需要1块芯片就能满足整体需求 一方面减少设计复杂度 另一面节省PCB面积成本 能同时掌握硬件原理设计以及PCB Layout设计逐渐成为主流 本系列文章同时包含有两
  • ES6详解 快速上手!

    一 Es6 1 1 ES6的概述 ECMAScript的快速发展 编程语言JavaScript是ECMAScript的实现和扩展 ECMAScript是由ECMA 一个类似W3C的标准组织 参与进行标准化的语法规范 ECMAScript定义
  • 【python量化】用python搭建一个股票舆情分析系统

    写在前面 下面的这篇文章将手把手教大家搭建一个简单的股票舆情分析系统 其中将先通过金融界网站爬取指定股票在一段时间的新闻 然后通过百度情感分析接口 用于评估指定股票的正面和反面新闻的占比 以此确定该股票是处于利好还是利空的状态 1 环境准备
  • C++(Liunx) 使用cut截 取出Ubuntu用户的家目录,要求:不能使用“:“作为分割.

    使用cut截 取出Ubuntu用户的家目录 要求 不能使用 作为分割
  • 43.MQ—RabbitMQ

    目录 一 MQ RabbitMQ 1 同步调用与异步调用 1 1 同步调用 1 2 异步调用 2 MQ之间的区别 3 RabbitMQ学习 3 1 docker下载rabbitmq容器 并启动 3 2 RabbitMQ中的几个概念 3 3
  • Python遥感开发之分段读取和保存遥感数据

    Python遥感开发之分段读取和保存遥感数据 1 分段读取数据 2 实现分批读取数据以及进行计算 3 实现分批保存成TIF文件 所有完整代码 4 分段TIF整合到一个TIF 5 生成一个空白TIF 每个像元值为0的TIF 前言 当遇到批量读
  • Supervisord进程管理工具的安装使用

    先来介绍 supervisord Supervisor 是一个进程监控程序 满足的需求是 我现在有一个进程需要每时每刻不断的跑 但是这个进程又有可能由于各种原因有可能中断 当进程中断的时候我希望能自动重新启动它 此时 我就需要使用到了 Su
  • dataloader的使用

    dataloader 构建可迭代的数据装载器 我们在训练的时候 每一个for循环 每一次iteration 就是从DataLoader中获取一个batch size大小的数据的 dataloader官网 torch utils data P
  • 【MySQL基础】常用函数

    文章目录 单行函数 字符函数 LENGTH CONCAT UPPER LOWER SUBSTR SUBSTRING INSTR TRIM LPAD RPAD REPLACE 数学函数 ABS ROUND CEIL FLOOR TRUNCAT
  • [每日两题系列]刷算法题咯~~

    今日题目 卡片 直线 本系列所选题目均来自力扣或者牛客网站 所选题目主要是以其中的简单题为主 中等题为辅 包含少数困难题 原因是 本人目前能力还不够 开展这个系列的目的是督促自己 在暑假的时间里也要保持有一定的刷题量 拒绝摆烂 话不多说 直
  • python矩阵教程_numpy教程:矩阵matrix及其运算

    numpy矩阵简介 NumPy函数库中存在两种不同的数据类型 矩阵matrix和数组array 都可以用于处理行列表示的数字元素 虽然它们看起来很相似 但是在这两个数据类型上执行相同的数学运算可能得到不同的结果 其中NumPy函数库中的ma
  • 插入MySQL数据库前去除重复数据的几种方法

    在数据存储过程中 可能会遇到数据主键重复的情况 我们可以通过下面几个方法进行处理 1 若数据不存在插入 存在更新 2 使用duplicate key关键字 如插入数据时发生主键冲突就更新数据 3 使用Ingore关键字 4 使用replac
  • BoxFit(缩放模式、自适应模式)

    类似于Android原生的ImageView ScaleType 以下是Flutter提供的Box缩放类型 fill Box被完全填充 相当于ScaleType的FIT XY contain 保持Box的纵横比至至少有一边填充满父控件 相当
  • 单例模式 -- 懒汉模式&饿汉模式

    目录 一 单例模式是什么 二 饿汉模式 三 懒汉模式 一 单例模式是什么 单例模式是一种设计模式 用于将类的实例化限制为一个对象 它确保一个类只有一个实例 并提供了该实例的全局访问点 这种模式被广泛用于创建对象的唯一实例 例如数据库连接和日
  • LCD(五)Backlight背光子系统

    一 Backlight背光子系统概述 LCD的背光原理主要是由核心板的一根引脚控制背光电源 一根PWM引脚控制背光亮度组成 应用程序可以通过改变PWM的频率达到改变背光亮度的目的 Backlight背光子系统构建过程结构关系图 黑色加粗部分
  • ONNX 运行时报错 ORT_RUNTIME_EXCEPTION Ort::Exception 未经处理的异常

    1 运行报错 前段时候推理时遇到一个非常奇怪的bug ONNX模型在运行时会报ORT RUNTIME EXCEPTION的异常 2 错误排查 继续运行 断点看到是在Session Run 的时候报错 断点逐语句跟踪没有更多详情的信息 重新看
  • jsp 购物车