jq计算总价

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>计算总价</title>
    <link href="style.css"  rel="stylesheet" type="text/css">
    <script src="js/jquery-1.7.2.js" type="text/javascript"></script>
    <script src="js/public.js" type="text/javascript"></script>
</head>
<body>
<div class="s_wrap">
    <ul class="price_list">
        <li>
            <p class="check"></p>
            <p class="name">儿童 防蓝光眼镜 护目镜 钛架 电脑办公玩手机 5078</p>
            <div class="feed_in">
                <p class="minus">-</p>
                <label><input name="price" type="number" value="1"></label>
                <p class="plus">+</p>
            </div>
            <p class="unit_price">¥<span>100.00</span>元</p>
        </li>
        <li>
            <p class="check"></p>
            <p class="name">止咳枇杷颗粒</p>
            <div class="feed_in">
                <p class="minus">-</p>
                <label><input name="price" type="number" value="1"></label>
                <p class="plus">+</p>
            </div>
            <p class="unit_price">¥<span>50.00</span>元</p>
        </li>
    </ul>

    <div class="clr">
        <p class="select"><span id="cancelAll">取消</span><span id="checkAll">全选</span></p>
        <p class="total">合计 <span id="totalPrice">0.00</span></p>
    </div>

</div>
</body>
</html>
.fl{float: left;}
.fr{float: right;}
.clr{*zoom: 1;}
.clr:after{content:".";display:block;height:0;clear:both;visibility:hidden;}

.s_wrap{ width: 960px; min-height: 100px; border:1px solid #ddd; margin: 30px auto 0 auto; background: #fff; padding:20px; border-radius:2px; }
.price_list li{ margin-bottom: 10px; line-height: 32px; zoom: 1; font-size: 14px; color: #333; }
.price_list li:after{ display: block; height: 0; clear: both; visibility: hidden; content: "."; }
.check{ float: left; width: 26px; height: 26px; border:1px solid #ddd; margin-top: 3px; cursor: pointer; }
.check_on{ background: url("images/duigou.png") no-repeat center; }
.name{ padding-left: 30px; float: left; width: 350px; }
.unit_price{ float: left; color: #f60; }
.feed_in{ float: left; width: auto; height: 30px; line-height: 30px; border:1px solid #ddd; margin:0 30px; border-radius:3px; }
.feed_in p{ float: left; width: 30px; height: 30px; text-align: center; font-size: 18px; cursor: pointer; }
.feed_in label{ display: block; float: left; }
.feed_in input{ width: 40px; height: 30px; line-height: 30px; text-align: center; border:0; border-left: 1px solid #ddd; border-right: 1px solid #ddd; }
.total{ float: right; width: 300px; padding:10px 0; font-size: 16px; color: #333; text-align: right; padding-right: 320px; }
.total span{ color: #f60; }
.select{ float: left; padding-top: 8px; width: 300px; font-size: 14px; color: #333; }
.select span{ display: inline-block; width: 40px; line-height: 30px; text-align: center; vertical-align: middle; cursor: pointer; }
.select span:hover{ color: #f60; }
$(document).ready(function(){

    $(".check").click(function(){
        $(this).toggleClass("check_on");//点击选择
        upDataPrice2();
    });

    //点击减的时候计算总价
    $(".minus").click(function(){
        var that = $(this);
        var minusVal = that.parents("div.feed_in").find("input[name=‘price‘]").val();
        var i = parseInt(minusVal);
        if(minusVal > 1 ){
            i = i -1;
            var minusNum = that.parents("div.feed_in").find("input[name=‘price‘]");
            minusNum.val(i);
        }
        var check = $(this).parents("li").find(".check");
        upDataPrice2();

    });

    //点击加的时候计算总价
    $(".plus").click(function(){
        var that = $(this);
        var plusVal = that.parents("div.feed_in").find("input[name=‘price‘]").val();
        var i = parseInt(plusVal);
        if(plusVal < 35 ){
            i = i + 1;
            var plusNum = that.parents("div.feed_in").find("input[name=‘price‘]");
            plusNum.val(i);
        }else{
            alert("最多购买35件")
        }
        var check = $(this).parents("li").find(".check");
        upDataPrice2();
    });

    //全选
    $("#checkAll").click(function(){
        $(".price_list li").each(function(){
            var allCheck = $(this).find(".check");
            if(allCheck.hasClass("check_on")){
                return;
            }else{
                allCheck.addClass("check_on");
            }
        });
        upDataPrice2();
    });

    //取消全选
    $("#cancelAll").click(function(){
        $(".price_list li").each(function(){
            var allCheck = $(this).find(".check");
            if(allCheck.hasClass("check_on")){
                allCheck.removeClass("check_on");
            }
        });
        upDataPrice2();
    });

});

//计算总价函数
function upDataPrice2(){
    var totalPrice = 0;
    var count = $(".feed_in input[name=‘price‘]");
    var price = $(".unit_price span");
    $(".price_list li").each(function(i){
        var sCheck = $(this).find(".check");
        if(sCheck.hasClass("check_on")){
            var countNum = $(count[i]).val();
            var priceNum = $(price[i]).text();
            totalPrice += countNum * priceNum;
        }
    });
    $("#totalPrice").text(totalPrice.toFixed(2));
}
时间: 2024-10-15 00:50:54

jq计算总价的相关文章

购物车计算总价、全选、取消

<script type="text/javascript" language="javascript"> function gouwu(obj){ var fruits=document.getElementByName("fruit"); var totalPrice=0; //遍历所有的checkbox,计算新的总价 for(var i=0;i<fruits.length;i++){ //判断是否选择 if(fruits[

数据库SQL语句学习笔记(5)-创建计算字段

1.存储在表中的数据并不总是应用程序需要的,比如说我们有商品的单价,有售出商品的数量这两个列,但是我们为了打印发票,需要总价信息,即单价*商品.因此,我们需要直接从数据库中检索出转换,计算或格式化过的数据,而不是检索出数据.此时单价和数量是一般的表列,而总价就是计算出的字段. 字段:基本上与列的意思相同,经常互相使用,不过数据库列一般称为列. 只有数据库自己知道哪些列是列,哪些列是字段.应用程序并不能识别. USE sells; SELECT * FROM Vendors; 2. 拼接(conc

localStorage实现购物车数量单价和总价实时同步(二)

利用localStorage实时显示购物车小计和总价页面显示: 和昨天的原理相同,本地存储同时实时循环计算总价之和,注意循环时候的先清空再计算 Success is getting what you want, happiness is wanting what you get.成功是得其所想,幸福是想其所得! <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q

通过map来计算重复次数

原来在有点糊涂的情况下,可能是那段时间写js写的头昏了吧,差点把他是客服端代码都给忘却了.导师的一词MVC就好如当头棒喝,把我从梦中叫醒,话不多说,先给出之前的渣渣代码      //计算总价       var cnt= 0;       $(".price").each(function(){         cnt +=parseInt($(this).text());       });       $("#count").text(cnt);       

HTML打折计算价格

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 4 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 5 6 <head> 7 8 <title>打折后价格计算</title> 9 10

12月16日 增加一个购物车内product数量的功能, 自定义method,在helper中定义,计算代码Refactor到Model中。

仿照Rails实战:购物网站 教材:5-6 step5:计算总价,做出在nav上显示购物车内product的数量. 遇到的?: 1. <% sum = 0 %> <% current_cart.cart_items each do |cart_item| %> <% if cart_item.product.price.present? %> <% sum = sum + cart_item.quantity * cart_item.product.price %

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//

localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车

http://blog.csdn.net/u013267266/article/details/51530611 localStorage.setItem("key","value");//存储变量名为key,值为value的变量 localStorage.key = "value"//存储变量名为key,值为value的变量 localStorage.getItem("key");//获取存储的变量key的值www.it16

基于html5 localStorage的购物车JS脚本

http://blog.csdn.net/wangqiuyun/article/details/8435649 最近在做html5这一块,参考网上的代码写了一个购物车JS脚本,很简单,直接上代码,shoppingCart.js: [javascript] view plain copy utils = { setParam : function (name,value){ localStorage.setItem(name,value) }, getParam : function(name){