• 17_8_1 购物车+-号,及jqurey逻辑:数据联动


    +-号的html代码如下:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            .input {
                 35px;
                text-align: center;
                font-size: 20px;
                border: solid
            }
            
            .in {
                 35px;
                text-align: center;
                font-size: 20px;
                border: solid;
                background-color: silver;
            }
    
        </style>
    </head>
    
    <body>
        <script>
            function add() {
                document.getElementById("2").value++;
            }
    
            function reduce() {
                document.getElementById("2").value--;
            }
    
        </script>
        <input type="text" value="-" onclick="reduce()" id="1" class="in"><input type="text" value="100" id="2" class="input"><input class="in" type="text" value="+" id="3" onclick="add()">
    </body>
    
    </html>
    
    

    数据联动的思路:

    1.jquery,点击加号,其他数据通过.pre.child找回来,代码如下:

    2.给每一个标签赋值,同一个tr中的id可以加其他数字来识别,代码如下

    注意:

    a.在获得值时,input用value,其他用innerHTML,

    b. 同一tr中的不同td赋id时,只能是数字

    c.对应方法时传入参数

    d.在类型转换时,用parseInt而不是Integer.parseInt

    <%@page import="com.j1702.model.Carts"%>
    <%@page import="java.util.List"%>
    <%@page import="com.j1702.model.Goods"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>购物车页面</title>
    <style>
    html, body {
    	height: 100%;
    	margin: 0;
    	background-color: azure;
    }
    
    .div1 {
    	height: 10%;
    }
    a{
    text-decoration: none;
    }
    .div1_1 {
    	height: 100%;
    	 10%;
    	background-image:
    		url(http://oowvabkk3.bkt.clouddn.com/CD5F4AFE-4779-4199-888F-A0BD1BC326A4.png);
    	background-position: center;
    	background-size: cover;
    	float: left
    }
    
    .div1_2 {
    	height: 100%;
    	 90%;
    	margin-left: 10%;
    	background-color: antiquewhite;
    }
    
    .div2 {
    	height: 75%;
    	background-color: azure;
    	 90%;
    	margin-left: 10%;
    }
    
    .div3 {
    	height: 14%;
    	 90%;
    	margin-left: 10%
    }
    
    td {
    	 200px;
    	text-align: center;
    	font-size: 25px;
    	border: solid 1px;
    }
    
    button {
    	 90px;
    	height: 40px;
    	font-size: 25px;
    }
    
    .input {
    	 35px;
    	text-align: center;
    	font-size: 20px;
    	border: solid
    }
    
    .in {
    	 35px;
    	text-align: center;
    	font-size: 20px;
    	border: solid;
    	background-color: silver;
    }
    </style>
    <script>
        function add(b,ids,c,d){
            var a= document.getElementById(ids).value;
            if(a<b){
            	document.getElementById(ids).value++;
            document.getElementById("lastnum").value++;
            document.getElementById("lastmoney").value=parseInt(document.getElementById("lastmoney").value)+parseInt(document.getElementById(c).value);
            document.getElementById(d).innerHTML=parseInt(document.getElementById(d).innerHTML)+parseInt(document.getElementById(c).value);	       //  d.在类型转换时,用parseInt而不是Integer.parseInt
            }
            else{alert("超出数量范围")}
       
        } 
        function reduce(ids,c,d){
            var a=document.getElementById(ids).value;
            if(a>1){
            	document.getElementById(ids).value--;
            	document.getElementById("lastnum").value--;
            	document.getElementById("lastmoney").value=parseInt(document.getElementById("lastmoney").value)-parseInt(document.getElementById(c).value);
            	document.getElementById(d).innerHTML=parseInt(document.getElementById(d).innerHTML)-parseInt(document.getElementById(c).value);
            }
            else{alert("请至少选择一件商品")}
        }
     
        function tell(){
        	alert("该功能开发者未完善!尽情期待...")
        }
        
        function allSelect(){
        	var all=document.getElementById("all");
            var every=document.getElementsByTagName("input");
            for(var c=0;c<every.length;c++){
                every[c].checked=all.checked;
            }
        }
        
        </script>
    </head>
    <body>
    	<%
    		List<Carts> ca = (List<Carts>) request.getAttribute("cartgoods");
    		int count = 0;
    		int sum = 0;
    	%>
    	<div class="div1">
    		<div class="div1_1"></div>
    		<div class="div1_2"><a href="Servlet">返回继续购买</a></div>
    	</div>
    	<div class="div2">
    		<form action="CartDeleteServlet">
    			<table cellspacing="0">
    				<tr>
    					<td style=" 100px;"><input type="checkbox" class="input"
    						id="all" onclick="allSelect()">全选</td>
    					<td style=" 150px;">商品名字</td>
    					<td>商品简图</td>
    					<td>单价</td>
    					<td style=" 250px">数量</td>
    					<td>金额</td>
    					<td>操作时间</td>
    				</tr>
    				<%
    					if (ca != null) {
    						for (Carts caa : ca) {
    							count += caa.getBuynum();
    							sum += caa.getTotalmoney();
    				%>
    				<tr>
    					<td style=" 100px"><input type="checkbox" class="input"
    						id="single" name="<%=caa.getId()%>" value="ssss"></td>
    					<td style=" 150px;"><%=caa.getGoodsname()%></td>
    					<td class="td"
    						style="background-image:url(<%=caa.getPicture()%>);background-size:contain"></td>
    					<td><input class="input" style=" 150px"
    						value="<%=caa.getLowprice()%>" id="1<%=caa.getId()%>"></td>                                //其他tr衍生的id
    					<td style="text-algin: right"><input type="text" value="-"
    						onclick="reduce(<%=caa.getId()%>,1<%=caa.getId()%>,2<%=caa.getId()%>)"                //方法中传参数
    						class="in"><input type="text"
    						value="<%=caa.getBuynum()%>" id="<%=caa.getId()%>" class="input"><input               //精准id
    						class="in" type="text" value="+"
    						onclick="add(<%=caa.getNum()%>,<%=caa.getId()%>,1<%=caa.getId()%>,2<%=caa.getId()%>)">
    						<%=caa.getNum()%></td>
    					<td id="2<%=caa.getId()%>"><%=caa.getTotalmoney()%></td>
    					<td style="font-size: 18px"><%=caa.getTime()%></td>
    				</tr>
    				<%
    					}
    					} else {
    				%>
    				<tr>
    					<td colspan="5">您的购物车还没有商品</td>
    				</tr>
    				<%
    					}
    				%>
    				<tr>
    					<td colspan="7">总件数:<input type="text" value="<%=count%>"
    						id="lastnum" class="input">件; 总金额:<input type="text"
    						value="<%=sum%>" id="lastmoney" class="input" style=" 70px">元
    					</td>
    				</tr>
    				<tr>
    					<td colspan="7"><button type="submit">删除</button>
    						<button type="button" onclick="tell()">结账</button></td>
    				</tr>
    			</table>
    		</form>
    	</div>
    	<div class="div3"></div>
    </body>
    </html>
    
    
  • 相关阅读:
    python的eval、exec函数使用总结
    sorted()&enumerate()
    递归
    作用域
    Python3 os.stat() 方法
    android 电容屏(一):电容屏基本原理篇
    Linux 2.6内核与Linux 3.0 的区别!
    struct device的成员变量bus_id到哪里去了?
    Linux内核中ioremap映射的透彻理解
    Android 通过串口模拟 模拟物理按键
  • 原文地址:https://www.cnblogs.com/du1991/p/7268408.html
Copyright © 2020-2023  润新知