jQuery实现购物车计算价格功能的方法

 

本文实例讲述了jQuery实现购物车计算价格功能的简易方法,做的比较简单,现分享给大家供大家参考。具体如下:

目的

 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 <title>jQuery实现的购物车功能</title>
 8 <!-- 使用绝对路径引入 jQuery库文件 -->
 9 <script type="text/javascript"
10     src="${pageContext.request.contextPath }/js/jquery-1.11.2.js"></script>
11 <script type="text/javascript">
12     $(function() {
13         //根据类选择器,当点击 添加商品按钮的时候触发,为加号按钮注册click事件处理函数
14         $(".add").click(function() {
15             var t = $(this).parent().find('input[class*=text_box]');
16             //每点击添加 按钮1次,商品数量加1
17             t.val(parseInt(t.val()) + 1);
18             //再调用计算商品总价方法
19             setTotal();
20         });
21 
22         //根据类选择器,当点击 减号 按钮的时候触发
23         $(".min").click(function() {
24             var t = $(this).parent().find('input[class*=text_box]');
25             //每点击减少按钮1次,商品数量减1
26             t.val(parseInt(t.val()) - 1);
27             //当文本框的值为减少到小于等于1时候,取值1
28             if (parseInt(t.val()) < 0) {
29                 t.val(0);
30             }
31             //再调用计算商品总价方法
32             setTotal();
33         });
34 
35         //计算总价格的函数
36         function setTotal() {
37             var s = 0;
38             //each 遍历
39             $("#tab td").each(
40                     function() {
41                     //find()方法 遍历input标签中的后代, class名为 text_box中 文本框 中的值,即:商品的数量,乘以商品的价格
42                         s += parseInt($(this).find('input[class*=text_box]').val())* 
43                                 parseFloat($(this).find('span[class*=price]').text());
44                     });
45             //将计算的结果通过 jQuery的 html()方法赋予给 总价,并通过 toFixed()进行取舍
46             $("#total").html(s.toFixed(2));
47         }
48         //再调用计算商品总价方法
49         setTotal();
50     });
51 </script>
52 </head>
53 <body>
54     <table id="tab">
55         <tr>
56             <td><span>商品单价:</span><span class="price">2.50(元)</span> <input
57                 class="min" name="" type="button" value="-" /> <input
58                 class="text_box" name="" type="text" value="1" /> <input
59                 class="add" name="" type="button" value="+" /></td>
60         </tr>
61         <tr>
62             <td><span>商品单价:</span><span class="price">7.50(元)</span> <input
63                 class="min" name="" type="button" value="-" /> <input
64                 class="text_box" name="" type="text" value="1" /> <input
65                 class="add" name="" type="button" value="+" /></td>
66         </tr>
67     </table>
68     <p>
69         总价:<label id="total"></label>(元)
70     </p>
71 </body>
72 </html>
项目源码

 

 

 

实现在jsp界面修改购物车商品的件数,击按钮可以实现商品数量的减少或者增加,并且能够实时的计算出总的商品价格

实现思路

文件中的代码实现了简单的购物车根据数量,计算总价的功能,源码可以直接导入运行,下面详细介绍一下它的实现过程。

1、引入jQuery的库文件

 <!-- 使用绝对路径引入 jQuery库文件 -->

<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.11.2.js"></script>

2、编写一个 table,搭建主体内容

 

3、编写jQuery代码

①、$(function(){}),当文档结构完全加载完毕再去执行函数中的代码
$(".add").click(function(){}),为加号按钮注册click事件处理函数

、点击加号按钮的时候执行的代码


var t=$(this).parent().find('input[class*=text_box]'),获取文本框,这个文本中显示的是要购买商品的数目
t.val(parseInt(t.val())+1),点击一次商品数量加1
setTotal(),执行此函数可以计算出总的价格并且显示
$(".min").click(function(){}),为减号按钮注册click事件处理函数

 

计算总价格的函数


var s=0,声明一个变量,此变量用来存储总价格。
$("#tab td").each(function(){ 
  s+=parseInt($(this).find('input[class*=text_box]').val())*parseFloat($(this).find('span[class*=price]').text()); 
}); 
可以遍历文本框并乘以单价,然后进行累加,最后计算出来的总价格。

4、运行效果展示

 

以上是一个jQuery实现购物车计算价格功能的方法,写的比较简单,可以作为jQuery初学者的入门学习素材,以强化jQuery基本语法的学习。

posted @ 2018-03-25 19:46  码农fyj  阅读(3264)  评论(0编辑  收藏  举报