JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)

  购物车点击可以减少或者添加商品并自动计算价格:

  购物车中可能有这样的功能,那就是点击按钮可以实现商品数量的减少或者增加,并且能够实时的计算出总的商品价格,下面就通过代码实例介绍一下如何实现此功能,当然下面的这个模拟实现的购物车难登大雅之堂,但是可以从中得到一些启发或者相关的知识点,代码如下:

  

复制代码 代码如下:

  <!DOCTYPE html>

  <html>

  <head>

  <meta charset="utf-8">

  <title>管理资源吧</title>

  <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>

  <script type="text/javascript">

  $(function(){

  $(".add").click(function(){

  var t=$(this).parent().find('input[class*=text_box]');

  t.val(parseInt(t.val())+1)

  setTotal();

  })

  $(".min").click(function(){

  var t=$(this).parent().find('input[class*=text_box]');

  t.val(parseInt(t.val())-1)

  if(parseInt(t.val())<0){

  t.val(0);

  }

  setTotal();

  })

  function setTotal(){

  var s=0;

  $("#tab td").each(function(){

  s+=parseInt($(this).find('input[class*=text_box]').val())

  *parseFloat($(this).find('span[class*=price]').text());

  });

  $("#total").html(s.toFixed(2));

  }

  setTotal();

  })

  </script>

  </head>

  <body>

  <table id="tab">

  <tr>

  <td>

  <span>单价:</span><span class="price">1.50</span>

  <input class="min" name="" type="button" value="-" />

  <input class="text_box" name="" type="text" value="1" />

  <input class="add" name="" type="button" value="+" /></td>

  </tr>

  <tr>

  <td>

  <span>单价:</span><span class="price">3.95</span>

  <input class="min" name="" type="button" value="-" />

  <input class="text_box" name="" type="text" value="1" />

  <input class="add" name="" type="button" value="+" /></td>

  </tr>

  </table>

  <p>总价:<label id="total"></label></p>

  </body>

  </html>

  上面的代码实现了简单的购物车功能,下面详细介绍一下它的实现过程。

  代码注释:

  1.$(function(){}),当文档结构完全加载完毕再去执行函数中的代码。

  2.$(".add").click(function(){}),为加号按钮注册click事件处理函数。

  3.var t=$(this).parent().find('input[class*=text_box]'),获取文本框,这个文本中显示的是要购买商品的数目。

  4.t.val(parseInt(t.val())+1),点击一次商品数量加1。

  5.setTotal(),执行此函数可以计算出总的价格并且显示。

  6.$(".min").click(function(){}),为减号按钮注册click事件处理函数。

  7.function setTotal(){},此函数可以计算出总价格并且显示出来。

  8.var s=0,声明一个变量,此变量用来存储总价格。

  9.$("#tab td").each(function(){

  s+=parseInt($(this).find('input[class*=text_box]').val())*parseFloat($(this).find('span[class*=price]').text());

  });

  可以遍历文本框并乘以单价,然后进行累加,最后计算出来的总价格。