Javascript - 如果不在数组中则添加 - 如果在数组中则更新数量

时间:2012-05-10 08:21:16

标签: javascript

下面是我的简单购物车代码,唯一的问题是第一个方框中的项目工作正常,但第二个方框没有。

http://itsuite.it.brighton.ac.uk/ols11/cart - 添加“bumblebee”项目,然后重复并正确计数。现在尝试第二次下拉几次。

使用Javascript:

var ids = []
var names = []
var qtys = []
var prices = []
var total = []


function newcart (id, desc, qty, price)
{
    var lengthofid = ids.length
    var i = 0
    while (i < lengthofid)
    {
        if (id == ids[i])
        {
            qtys[i] = parseInt(qtys[i]) + parseInt(qty)
            prices[i] = parseInt(prices[i]) + parseInt(price)
            i = lengthofid + 1;
        }else{
            ids.push(id)
            names.push(desc)
            qtys.push(qty)
            prices.push(price)
        }
        i++

    }
    if ( i == 0 )
    {
        ids.push(id)
        names.push(desc)
        qtys.push(qty)
        prices.push(price)
    }
    alert(names)
    alert(qtys)
}

1 个答案:

答案 0 :(得分:0)

此页面中有两个表单,而select标记具有相同的名称 那么你应该像这样调用函数

首先下拉第一个表单item1:
试试这个

newcart(item1.prodid.value,item1.desc.value,item1.qty.value,item1.price.value);

首先下拉第一个表单item2: 并尝试这个

newcart(item2.prodid.value,item2.desc.value,item2.qty.value,item2.price.value);
是的,desc和价格也是如此 而且我认为有两种形式是不会被鼓励的 IE中的兼容性问题将无法“在我的案例形式内”