【问题标题】:SimpleCart js - change price on option selectSimpleCart js - 更改选项选择的价格
【发布时间】:2014-02-12 18:48:40
【问题描述】:

我正在处理一个 SimpleCart 项目,该项目需要许多选项来改变商品的价格。每个选项都会在商品的基本价格上增加一定的金额。例如:

商品基本价格 = 10 美元

下拉菜单 1:

  • 选项 1、2、3 加 $0
  • 选项 4、5、6 加 $1
  • 选项 7、8、9 加 $2

...对于具有不同基本价格的多个项目中的多个下拉菜单,以此类推。

simplecartjs.org 文档建议使用 beforeAdd 事件,例如:

simpleCart.bind( 'beforeAdd' , function( item ){
if( item.get( 'size' ) == 'Small' ){
item.price( 10 );
} else if( item.get( 'size' ) == 'Large' ){
item.price( 12 );
}
});

您将如何使用与此类似的方法将特定金额添加到基本价格中,而不是为每个选项定义一个固定价格?

这里是一些简化的示例 HTML 代码(我的项目实际上在一个下拉菜单中有 70 多个选项):

<div class="simpleCart_shelfItem">
<h2 class="item_name">item</h2>
<select class="item_size">
<option value="small">small</option>
<option value="medium">medium</option>
<option value="large">large</option>
</select>
<select class="item_length">
<option value="short">short</option>
<option value="long">long</option>
</select>
<input value="1" class="item_Quantity" type="text">
<span class="item_price">$10</span>
<a class="item_add" href="javascript:;">add to cart</a></p>
</div>

【问题讨论】:

    标签: javascript shopping-cart simplecart


    【解决方案1】:

    我可能会采用与提供的文档相同的方式来处理它,但除了将基本价格设置为一个变量,您可以使用它来增加额外成本。在函数内部应用变量将使其保持本地化,因此如果您在另一个函数中有基本价格,它不会打扰代码。

    *注意我没有测试它,只是想我会如何试一试。

    simpleCart.bind('beforeAdd', function (item) {
        var basePrice = 10;
        if (item.get('size') == 'Small') {
            item.price(basePrice + 2);
        } else if (item.get('size') == 'Large') {
            item.price(basePrice + 2);
        } else if (item.get('size') == 'Long' && item.get('otherProperty')) {
            item.price(basePrice + 9);
        }
    });
    

    【讨论】:

    • 这是我的每件商品都可以参考的东西,唯一的区别是底价吗?
    • 您可以添加一个属性,然后在您的购物车的css中您可以使属性类不显示。 { attr: "variable1", label: "VariableName"} // this top script goes in simplecart setup .item-variable1 { display:none;}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    相关资源
    最近更新 更多