如何用JS算出商品总价!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用JS算出商品总价!相关的知识,希望对你有一定的参考价值。

我正做一个网购系统,可是碰到了问题!我举个例吧:
一个客户选中了4件商品,分别是:A商品-13元,B商品-27元,C商品-56元,D商品-49元,分别放入了购物车,默认情况下,所有商品的数量都为一件,当客户进入购物车,然后才可以进行数量的选择,比如:A商品客户需要2件,B商品3件,C商品4件,D商品3件,每件商品都有不同价格,问题来了,如何使用JS自动计算,显示一个总价出来!
计算方法我会:如下:
A2+B3+C4+D3=总价
或:
A x 2 = A商品总价
B x 3 = B商品总价
C x 4 = C商品总价
D x 3 = D商品总价
然后:ABCD的和相加=总价
算法没错!但就不知如何实现,请高手帮个忙,高分重谢!
商品都是后台读取的。分别有不同有ID号!ABCD商品只是代表,都是如客户选择的,那客户选择了50件、100件呢?用ASP又该如何写..var a = document.getElementById("a_num").value.parseInt();指的是单件商品,所以不成立!

参考技术A <input id="a_num" value="" />
.........."b_num"............
...........c.................
...........d.................

js:

var a = document.getElementById("a_num").value.parseInt();
var b = .........................b_num....................
var c ...........................c_num....................
var d ...........................d_num....................

var totoal = a*a_price + b*b_price + c*c_price + d*d_price;本回答被提问者采纳
参考技术B 首先,你的数据结构是如何的?
其次,如果是列表的话,for循环然后叠加。
最后,提示最好使用面向对象思想,然后dom上仅仅显示计算结果,而不要每次都去抓dom然后存取值。就像楼上的答案。
参考技术C 详细问题呢 参考技术D 只要知道数量价格就可以计算了,你要从哪里计算呢? 第5个回答  2015-08-21 相加即可,望采纳

商品装箱问题

顾客海淘时,所购买的商品需要交给转运公司来运回国内。顾客的多个商品(假设商品都是长方体,不同的商品的长宽高可能各不相同) ,转运公司要用快递盒打包运输,但转运公司只有一种类型的快递盒,快递盒的长、宽、高都已经给定,且依据海关规定,经过海关时,若每个快递盒内所含物品的总价值不超过2000元时,可以免关税,否则要收关税。请问,转运公司收到顾客的商品之后,在希望不缴纳关税的条件下,如何用快递盒打包这些商品,需要的盒子是最少的,最少需要几个?(假设快递盒子和商品的长宽高都是int型整数)

package javatest;

import java.util.ArrayList;
import java.util.Scanner;

public class GoodsTest
{
    public static int MaxValue = 2000;//一个盒子的最大免税价值
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        BoxTemplate box = new BoxTemplate();
        box.length = sc.nextInt();
        box.height = sc.nextInt();
        box.width = sc.nextInt();
        box.price = MaxValue;
        int itemNum = sc.nextInt();

        Model[] items = new Model[itemNum];
        for (int i = 0; i < itemNum; i++)
        {
            Model item = new Model();
            item.length = sc.nextInt();
            item.height = sc.nextInt();
            item.width = sc.nextInt();
            item.price = sc.nextInt();
            items[i] = item;
        }
        System.out.println("最少需要盒子个数:"+calcBoxMin(box, items));
    }

    public static int calcBoxMin(BoxTemplate box, Model[] items)
    {
        int boxMin = 0;
        int[] isBoxed = new int[items.length];    
        for (int i = 0; i < items.length; i++)
        {    
            if(isBoxed[i]==0)
            {
                ArrayList<Model> boxedItems=new ArrayList<Model>();
                boxedItems.add(items[i]);
                isBoxed[i]=1;
                if(isOverflow(sum(boxedItems),box))
                        return -1;
                for(int j=i+1;j<items.length;j++)
                {
                    if(isBoxed[j]==0)
                    {
                        boxedItems.add(items[j]);
                        isBoxed[j]=1;
                        Model sumItem=sum(boxedItems);
                        if(isOverflow(sumItem,box))
                        {
                            isBoxed[j]=0;
                            boxedItems.remove(items[j]);
                        }
                    }
                }
                boxMin++;
            }
        }
        
        return boxMin;
    }
    
    public static Model sum(ArrayList<Model> items)
    {
        Model sumItem=new Model();
        for(Model item:items)
        {
            sumItem.height+=item.height;
            sumItem.width+=item.width;
            sumItem.length+=item.length;
            sumItem.price+=item.price;
        }
        return sumItem;
    }
    
    public static boolean isOverflow(Model sumItem,BoxTemplate box)
    {
        if(sumItem.height>box.height)
            return true;
        if(sumItem.length>box.length)
            return true;
        if(sumItem.width>box.width)
            return true;
        if(sumItem.price>box.price)
            return true;
        return false;
    }
}

//包装盒
class BoxTemplate
{
    int height;
    int width;
    int length;
    int price;
}
//商品
class Model
{
    int height;
    int width;
    int length;
    int price;
}

 

以上是关于如何用JS算出商品总价!的主要内容,如果未能解决你的问题,请参考以下文章

高分求解一个JS的问题,是关于商品总价的.

商品装箱问题

如何用python获取京东的评论数据

angularjs购物车练习

用C语言来编写:商品销售统计程序

GO语言开发天天生鲜项目第五天 购物车模块和订单模块