Javascript SimpleCart js-更改选项选择的价格

Javascript SimpleCart js-更改选项选择的价格,javascript,shopping-cart,simplecart,Javascript,Shopping Cart,Simplecart,我正在从事一个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( 'siz

我正在从事一个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多个选项):


项目
小的
中等的
大的
短的
长的
$10


我可能会采用与提供的文档相同的方法,但是增加了将基价作为一个变量,您可以使用它来增加额外成本。在函数中应用变量将使其保持本地化,因此如果在另一个函数中有基价,则不会影响代码

*注意,我没有测试它,只是一个如何尝试的想法

simpleCart.bind('beforeAdd',函数(项){
var基准价格=10;
if(item.get('size')=='Small'){
项目价格(基价+2);
}else if(item.get('size')=='Large'){
项目价格(基价+2);
}else if(item.get('size')='Long'&&item.get('otherProperty')){
项目价格(基价+9);
}
});

这是我可以参考的每个商品,唯一的区别是基本价格吗?你可以添加一个属性,然后在购物车的css中不显示属性类
{attr:“variable1”,label:“VariableName”}//此顶级脚本进入simplecart设置。item-variable1{display:none;}
<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>