【转载】
http://www.jquerycn.cn/content/20130608/3463.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<h2 style="text-align:left">商品列表</h2>
<table width="800" border="0" id="tblProduct" cellpadding="1" cellspacing="1" bgcolor="black">
<tr id="trMaster" bgcolor="white" style="display:none">
<td>
编号:<span>000001</span><br />
名称:<span>aa</span><br />
价格:<span>2.5</span><br />
描述:<span>aaaaa</span><br />
<div style="text-align:right"><input type="button" name="btnBuy" value="buy" /></div>
</td>
<td>
编号:<span>000001</span><br />
名称:<span>aa</span><br />
价格:<span>2.5</span><br />
描述:<span>aaaaa</span><br />
<div style="text-align:right"><input type="button" name="btnBuy" value="buy" /></div>
</td>
<td>
编号:<span>000001</span><br />
名称:<span>aa</span><br />
价格:<span>2.5</span><br />
描述:<span>aaaaa</span><br />
<div style="text-align:right"><input type="button" name="btnBuy" value="buy" /></div>
</td>
<td>
编号:<span>000001</span><br />
名称:<span>aa</span><br />
价格:<span>2.5</span><br />
描述:<span>aaaaa</span><br />
<div style="text-align:right"><input type="button" name="btnBuy" value="buy" /></div>
</td>
</tr>
</table>
<h2 style="text-align:left">购物车</h2>
<table width="800" border="0" id="tblOrder" cellpadding="1" cellspacing="1" bgcolor="black">
<tr bgcolor="white"><td>序号</td><td>编号</td><td>名称</td><td>描述</td><td>数量</td><td>单价</td><td>总价</td><td>删除</td></tr>
<tr id="orderMarter" bgcolor="white" style="display:none">
<td style=" width:5%">1</td>
<td style=" width:10%">000001</td>
<td style=" width:10%">aa</td>
<td>aaaaa</td>
<td style=" width:15%">
<input type="text" name="txtNum" style="width:50px;" value="0" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"/>
<input type="button" name='btnAdd' style="width:15px; text-align:center" value="+" />
<input type="button" name='btnCut' style="width:15px; text-align:center" value="-" />
</td>
<td style=" width:10%">0</td>
<td style=" width:10%"><font color="red">0</font></td>
<td style=" width:5%; text-align:center"><input type="button" name='btnRemove' style="width:30px; text-align:center" value="X" /></td>
</tr>
</table>
<table width="800" border="0" id="tblTotal" cellpadding="1" cellspacing="1" bgcolor="black">
<tr bgcolor="white" align="right">
<td>总价</td>
<td id="tdTotal"><font color="#FF0000" size="+1" face="Arial, Helvetica, sans-serif">0.0</font></td>
</tr>
</table>
</body>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
/*
@@
@@
@@
*/
var product=[
{prodId:"000001",prodName:"aa",price:2.5,description:"aaaaa"},
{prodId:"000002",prodName:"bb",price:2.4,description:"bbbbb"},
{prodId:"000003",prodName:"cc",price:2.3,description:"ccccc"},
{prodId:"000004",prodName:"dd",price:2.2,description:"ddddd"},
{prodId:"000005",prodName:"ee",price:2.1,description:"eeeee"},
{prodId:"000006",prodName:"ff",price:2.0,description:"fffff"},
{prodId:"000007",prodName:"gg",price:1.9,description:"ggggg"},
{prodId:"000008",prodName:"hh",price:1.8,description:"hhhhh"},
{prodId:"000009",prodName:"ii",price:1.7,description:"iiiii"}
];
</script>
<script type="text/javascript">
var j=0,i=-1,k=-1,len=$("#trMaster td").size();//数据和模板的td 都可以自定义,格式正确即可
$.each(product,function(index,prod){
i++;
k++;
if(i%len==0){
j++;
CloneTR(j);//根据模板来克隆行
}
if(k==len)
k=0;
setTD(j,k,prod.prodId,prod.prodName,prod.price,prod.description);//给克隆行的td 赋值
});
//根据模板来克隆行
function CloneTR(id){
$("#trMaster").clone(true).css("display","block").attr("id","tr"+id).appendTo("#tblProduct");
$("#tr"+id+" td span").empty();
}
//给克隆行的td 赋值
function setTD(trId,index,prodId,prodName,price,description){
var tr=$("#tr"+trId);
$(tr).find("td:eq("+index+")").find("span:eq(0)").html(prodId);
$(tr).find("td:eq("+index+")").find("span:eq(1)").html(prodName);
$(tr).find("td:eq("+index+")").find("span:eq(2)").html(price);
$(tr).find("td:eq("+index+")").find("span:eq(3)").html(description);
}
var tempId="";
var num=0;
//点击buy
$("input[name='btnBuy']").click(function(){
var elem=$(this).parent().parent();//获取点击的button 的td
var prodId=$(elem).find("span:eq(0)").html();
var prodName=$(elem).find("span:eq(1)").html();
var price=$(elem).find("span:eq(2)").html();
var description=$(elem).find("span:eq(3)").html();
if(prodId==""||prodId==null||prodId==undefined){
alert("请点击其他产品");
}else{
if(tempId.indexOf(prodId)!=-1){
if(confirm('已存在,确定数量+1 吗?')){
$("#tblOrder tr:gt(1)").each(function(){
if($(this).find("td:eq(1)").html()==prodId){
var num=$(this).find("td:eq(4)").find("input[name='txtNum']").attr("value");
$(this).find("td:eq(4)").find("input[name='txtNum']").attr("value",+num+1);//相当于parseInt(num)+1;
}
});
}
}else{
num++;
CloneOrder(num,prodId,prodName,price,description);
}
tempId+=prodId+",";
$("#tdTotal").html("<font color='#FF0000' size='+1' face='Arial, Helvetica, sans-serif'>"+GetTotalPrice().toFixed(2)+"</font>");
}
});
//根据订单模板来clone 订单
function CloneOrder(id,prodId,prodName,price,description){
$("#orderMarter").clone(true).css("display","block").attr("id","tro"+id).appendTo("#tblOrder");
var tr=$("#tro"+id);
$(tr).find("td:eq(0)").html(num);
$(tr).find("td:eq(1)").html(prodId);
$(tr).find("td:eq(2)").html(prodName);
$(tr).find("td:eq(3)").html(description);
$(tr).find("td:eq(4)").find("input[name='txtNum']").attr("value","1");
$(tr).find("td:eq(5)").html(price);
$(tr).find("td:eq(6)").html("<font color='red'>"+price+"</font>");
}
//获取总共价格
function GetTotalPrice(){
var totalNum=0;
$("#tblOrder tr:gt(1)").each(function(){
var value=parseFloat($(this).find("td:eq(6)").text());
totalNum+=value;
});
return totalNum;
}
$(function(){
$("#tblOrder input[name='txtNum']").bind("propertychange",function(){
var value=$(this).val();
var tr=$(this).parent().parent();
if(value==0){
if(confirm('确定要删除该商品吗?')){
$(tr).remove();
}
}else{
var price=$(tr).find("td:eq(5)").html();
var total=value*price;
$(tr).find("td:eq(6)").html("<font color='red'>"+total.toFixed(2)+"</font>");
$("#tdTotal").html("<font color='#FF0000' size='+1' face='Arial, Helvetica, sans-serif'>"+GetTotalPrice().toFixed(2)+"</font>");
}
});
//加1
$("#tblOrder input[name='btnAdd']").click(function(){
var txtBox=$(this).parent().parent().find("td:eq(4)").find("input[name='txtNum']");
var value=$(txtBox).attr("value");
value=+value+1;
$(txtBox).attr("value",value)
});
//减1
$("#tblOrder input[name='btnCut']").click(function(){
var txtBox=$(this).parent().parent().find("td:eq(4)").find("input[name='txtNum']");
var tr=$(this).parent().parent();
var value=$(txtBox).attr("value");
if(value>1){
value=+value-1;
$(txtBox).attr("value",value)
}else{
if(confirm('确定要删除该商品吗?')){
$(tr).remove();
$("#tdTotal").html("<font color='#FF0000' size='+1' face='Arial, Helvetica, sans-serif'>"+GetTotalPrice().toFixed(2)+"</font>");
}
}
});
//删除btnRemove
$("#tblOrder input[name='btnRemove']").click(function(){
var tr=$(this).parent().parent();
if(confirm('确定要删除该商品吗?')){
$(tr).remove();
$("#tdTotal").html("<font color='#FF0000' size='+1' face='Arial, Helvetica, sans-serif'>"+GetTotalPrice().toFixed(2)+"</font>");
}
});
});
</script>
相关推荐
**jQuery购物车前端模板详解** 在网页开发中,购物车功能是电商网站不可或缺的一部分,而jQuery作为一款轻量级的JavaScript库,因其简洁的API和强大的功能,常被用于实现前端交互。本模板——"jQuery购物车前台模板...
本主题将深入探讨如何使用jQuery来实现购物车功能,具体包括三种不同的实现方式。购物车功能是电子商务网站的核心部分,它允许用户选择商品、调整数量,并在结账时查看订单详情。 首先,我们要理解购物车的基本构成...
总结来说,"JQuery购物车(商品可拖拽到购物车)"项目涉及到以下几个关键知识点: 1. JQuery库的使用,特别是`draggable()`和`droppable()`方法。 2. HTML结构设计,包括可拖动的商品元素和接收拖放的购物车区域。 ...
在这个“jQuery购物车自动计算金额表单”项目中,我们主要关注如何利用jQuery这个强大的JavaScript库来实现动态计算购物车中商品的总价。以下是对该项目的详细说明: 1. **jQuery库**:jQuery是一个轻量级的...
**简单购物车(SimpleCart.js)与jQuery购物车** 简单购物车(SimpleCart.js)是一个轻量级的JavaScript购物车解决方案,它允许开发者在没有服务器端编程的情况下实现基本的在线购物功能。它依赖于jQuery库,一个...
"jQuery购物车自动计算金额表单"是一个实现这一功能的JavaScript库,尤其适用于在线商城的结算过程。这个库利用jQuery的强大功能,为用户提供了一种便捷的方式来动态计算购物车内商品的总价,提升用户体验。 首先,...
《jQuery购物车实现详解》 在电子商务网站中,购物车是不可或缺的一部分,它承载着用户选购的商品信息,方便用户管理购买清单。本教程将详细解析一个基于jQuery编写的购物车实现,通过理解这个实例,我们可以深入...
文件标题为“jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)”,这表明文档的焦点在于一个名为jsorder的jQuery插件,它用于实现购物车功能,并且可以与后台程序配合,将数据转换为DataTable...
"jquery购物车实时结算特效"是利用jQuery实现的一个功能,它允许用户在购物车中添加商品,系统能实时计算总价,提供用户友好的购物体验。 在创建这个特效时,首先我们需要理解购物车的基本逻辑。购物车通常包含商品...
"asp.net jquery 购物车"就是一个典型的案例,它涉及到Web开发中的核心技术,包括ASP.NET和jQuery,以及如何实现一个功能完备的购物车系统。在这个项目中,我们将探讨这些技术的应用及其在购物车功能实现中的关键点...
在这个主题中,"jQuery购物车自动计算金额表单多数据加减商城购物结算"涉及到的核心知识点主要包括jQuery库的使用、动态计算、表单处理以及多数据管理。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM...
在这个"jQuery购物车加减计价与全选全不选"的主题中,我们将探讨如何利用jQuery来实现购物车的基本操作。 1. **商品添加与删除**: - 添加:当用户点击“加入购物车”按钮时,可以通过jQuery获取商品ID和数量,...
这个名为"jQuery购物车数量累计代码.zip"的压缩包包含了一段实现购物车商品数量累加功能的代码,这对于电子商务网站或者任何涉及到商品购买流程的网页来说都是至关重要的。在这个项目中,开发者可能已经创建了一个...
《jQuery购物车商品数量加减合计代码》是一个实用的前端开发资源,主要涉及jQuery库的使用,以及在购物车场景中的应用。这个压缩包包含了实现该功能所需的所有基本元素,包括HTML页面结构、JavaScript逻辑、图像资源...
"jQuery购物车自动计算金额表单适应于商城购物结算.zip" 文件提供了一个使用jQuery实现的购物车结算功能,适用于各种类型的在线商城系统。以下将详细介绍这个功能及其相关的jQuery知识点。 jQuery是一个轻量级、高...
**jQuery购物车AJAX技术详解** 在Web开发中,实现用户友好的购物车功能是电商网站的核心部分。jQuery,作为一款强大的JavaScript库,为开发者提供了简单易用的API,简化了DOM操作、事件处理和Ajax交互。本篇将深入...