jquery 購物車

【轉載】

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> 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章