0

嗨,在我的购物车中,我检查了 itemname 和 carttotal 。

if (carttotal >'500' && itemname.indexOf("Custom") == 0)   
    {

    //code to display popup
    }

在情况 1 中它可以正常工作,而在其他情况下失败:

工作条件:如果我最后添加了项目名称“自定义”,那么它的工作:

例如:

购物车中的第一项是“abc”,最后一项是“自定义”,carttotal 大于 500。然后弹出显示正常。

不工作的情况:如果我首先添加了项目名称“自定义”,然后我添加了更多项目,如“xyz”。并且购物车总数>500。然后弹出窗口不显示。

4

1 回答 1

2

您当前的代码检查是否Custom是列表中的第一项(的索引0)。您真正想要做的检查是否Custom存在于列表中的任何位置,是查看是否indexOf('Custom')返回一个值> -1,就像-1的失败值一样indexOf(),而不是 0 或另一个虚假值。例如:

var carttotal = /* Your cart total */
var products = [ /* Lots of products */ ];

for(var i = 0; i < products.length; i++) {
    itemname = products[i];

    if(carttotal > 500 && products.indexOf('Custom') > -1) {    // `products`, not `itemname`
        // Popup
    }
}

在这里,我也在检查products,假设这是您的产品数组。如果itemname是,那么使用它。

于 2013-05-26T19:54:57.153 回答