jQuery實(shí)現(xiàn)購(gòu)物車計(jì)算價(jià)格功能的方法
本文實(shí)例講述了jQuery實(shí)現(xiàn)購(gòu)物車計(jì)算價(jià)格功能的方法。分享給大家供大家參考。具體如下:
目的
實(shí)現(xiàn)在html界面修改購(gòu)物車的件數(shù),購(gòu)物車商品價(jià)格的小計(jì)和總計(jì)要修改。
實(shí)現(xiàn)思路
1.當(dāng)點(diǎn)擊進(jìn)入界面,刷新的時(shí)候觸發(fā)body內(nèi)的onload=""方法,跳轉(zhuǎn)到JS代碼。這樣做的原因是在數(shù)據(jù)庫(kù)內(nèi)我們只會(huì)存儲(chǔ)某客戶的準(zhǔn)備購(gòu)買的商品件數(shù),而不會(huì)存儲(chǔ)每類商品價(jià)格的小計(jì)和購(gòu)物車內(nèi)所有物品的商品總價(jià)格,初始化的目的就是為將這些數(shù)字計(jì)算出來后顯示在前臺(tái)界面上。
2.當(dāng)更改數(shù)量輸入框中每個(gè)商品的數(shù)量時(shí),整個(gè)購(gòu)物表商品的價(jià)格,商品的小計(jì)和總計(jì)會(huì)根據(jù)數(shù)量發(fā)生變化。
成品樣圖展示
全部代碼(火狐瀏覽器)
<!DOCTYPE HTML> <html> <head> <title>cart</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <!-- 要把jquery-1.9.1.min.js導(dǎo)進(jìn)去,不導(dǎo)出不來 --> <script type="text/javascript" src="jquery-1.9.1.min.js"></script> <script language="javascript"> $(function(){ var size=3.0*$('#image1').width(); $("#image1").mouseover(function(event) { var $target=$(event.target); if($target.is('img')) { $("<img id='tip' src='"+$target.attr("src")+"'>").css({ "height":size, "width":size, }).appendTo($("#imgtest"));/*將當(dāng)前所有匹配元素追加到指定元素內(nèi)部的末尾位置。*/ } }).mouseout(function() { $("#tip").remove();/*移除元素*/ }) }) </script> <script type="text/javascript"> function total(id) { /*計(jì)算單個(gè)的價(jià)格*/ var quantity=document.getElementById("quantity"+id).value; var price=document.getElementById("price"+id).value; var smallTotal=quantity*price; var smallT=document.getElementById("smallTotal"+id); smallT.innerHTML=smallTotal; /*計(jì)算總價(jià)格*/ var totalPrice=0; for(var a=1;a<3;a++){ var quantity=document.getElementById("quantity"+a).value; var price=document.getElementById("price"+a).value; var smallTotal=quantity*price; totalPrice=totalPrice+smallTotal; } var total=document.getElementById("total"); total.innerHTML=totalPrice; } </script> <script type="text/javascript"> function initialize() { var totalPrice=0; for(var a=1;a<3;a++){ var quantity=document.getElementById("quantity"+a).value; var price=document.getElementById("price"+a).value; var smallTotal=quantity*price; totalPrice=totalPrice+smallTotal; /*alert(smallTotal);*/ var smallT=document.getElementById("smallTotal"+a); smallT.innerHTML=smallTotal; } /*取出購(gòu)物車的所有商品的價(jià)格總和*/ var total=document.getElementById("total"); total.innerHTML=totalPrice; } </script> <style type="text/css"> #imgtest { position: absolute; top: 100px; left: 400px; z-index: 1; } table { left: 100px; font-size: 20px; } </style> </head> <body onload="initialize()"> <div id="imgtest"></div> <br /> <br /> <table border="1" style="text-align: center;" align="center"> <thead style="height: 50"> <td style="WIDTH: 300px"> 商品名稱 </td> <td style="WIDTH: 60px"> 圖片 </td> <td style="WIDTH: 170px"> 數(shù)量 </td> <td style="WIDTH: 170px"> 價(jià)格 </td> <td style="WIDTH: 250px"> 小計(jì) </td> </thead> <tbody> <tr> <td class="name">商品1</td> <td class="image"> <img src="1.jpg" width="40px" height="40px" id="image1"/> </td> <td class="quantity"> <input id="quantity1" value="1" onblur="total(1);"/> </td> <td class="price"> <input type="hidden" id="price1" value="20"/> 20 </td> <td class="total"> <span id="smallTotal1"></span> 元 </td> </tr> <tr> <td class="name">商品2</td> <td class="image"> <img src="1.jpg" width="40px" height="40px" id="image1"/> </td> <td class="quantity"> <input id="quantity2" value="2" onblur="total(2);"/> </td> <td class="price"> <input type="hidden" id="price2" value="30"/> 30 </td> <td class="total"> <span id="smallTotal2"></span> 元 </td> </tr> <tr> <td colspan="4" class="cart_total"> <br> </td> <td> <span class="red">總計(jì):</span><span id="total"></span> 元 </td> </tr> </tbody> </table> </body> </html>
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
- jQuery實(shí)現(xiàn)購(gòu)物車多物品數(shù)量的加減+總價(jià)計(jì)算
- jQuery實(shí)現(xiàn)加入購(gòu)物車飛入動(dòng)畫效果
- JQuery實(shí)現(xiàn)的購(gòu)物車功能(可以減少或者添加商品并自動(dòng)計(jì)算價(jià)格)
- 純jquery實(shí)現(xiàn)模仿淘寶購(gòu)物車結(jié)算
- 基于JQuery實(shí)現(xiàn)的類似購(gòu)物商城的購(gòu)物車
- jQuery實(shí)現(xiàn)購(gòu)物車數(shù)字加減效果
- jQuery+HTML5加入購(gòu)物車代碼分享
- jquery實(shí)現(xiàn)購(gòu)物車基本功能
- jquery購(gòu)物車結(jié)算功能實(shí)現(xiàn)方法
- jQuery實(shí)現(xiàn)購(gòu)物車
相關(guān)文章
使用jquery DataTable和ajax向頁(yè)面顯示數(shù)據(jù)列表的方法
今天小編就為大家分享一篇使用jquery DataTable和ajax向頁(yè)面顯示數(shù)據(jù)列表的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08關(guān)于jquery中全局函數(shù)each使用介紹
jquery 包含了兩個(gè) each 一個(gè)是 $().each 另一個(gè)是 $.each 區(qū)別就在于前一個(gè)是 jquery對(duì)象的內(nèi)置函數(shù) 而后一個(gè) 這是對(duì)象的遍歷函數(shù)2013-12-12基于jQuery的JavaScript模版引擎JsRender使用指南
這篇文章主要介紹了基于jQuery的JavaScript模版引擎JsRender使用指南,需要的朋友可以參考下2014-12-12jQuery操作dom實(shí)現(xiàn)彈出頁(yè)面遮罩層(web端和移動(dòng)端阻止遮罩層的滑動(dòng))
實(shí)現(xiàn)彈出遮罩層的方法有很多種,接下來本文給大家介紹通過jquery操作dom實(shí)現(xiàn)彈出頁(yè)面遮罩層以及web端和移動(dòng)阻止遮罩層的滑動(dòng),對(duì)頁(yè)面彈出遮罩層的相關(guān)知識(shí)感興趣的朋友一起看看吧2016-08-08jquery加載頁(yè)面的方法(頁(yè)面加載完成就執(zhí)行)
jquery加載頁(yè)面的方法(頁(yè)面加載完成就執(zhí)行),建議大家看下windows.onload與$(document).ready之間的區(qū)別。2011-06-06jQuery Mobile的loading對(duì)話框顯示/隱藏方法分享
jQuery Mobile提供兩個(gè)方法,使得開發(fā)者在編寫JavaScript業(yè)務(wù)編輯時(shí),可以隨意的控制loading提示框2013-11-11利用JQuery動(dòng)畫制作滑動(dòng)菜單項(xiàng)效果實(shí)現(xiàn)步驟及代碼
滑動(dòng)菜單項(xiàng)效果,聽起來就是很時(shí)尚的一個(gè)效果,不過實(shí)現(xiàn)起來有些麻煩,還好有本文的出現(xiàn),可以幫助你解決這個(gè)困惑,熱愛特效的你可不要錯(cuò)過了哈,好了話不多說切入正文2013-02-02jquery sortable的拖動(dòng)方法示例詳解
本文以示例的方式為大家介紹下jquery sortable的拖動(dòng)方法的具體實(shí)現(xiàn),感興趣的朋友可以參考下2014-01-01