0

好的,我有一张照片缩略图网格,这些照片缩略图通过商店中设置的单个产品进行销售。该产品有两种尺寸,小号和大号。大号有一个修饰符,可以在选择时提高价格。

我正在使用 JS 删除修饰符组,然后将其克隆到用户选择的其中一个缩略图中,从而有效地将其转换为页面上的单个产品。

我的问题是,当我删除并克隆修饰符时,价格与最后一个产品添加到购物车时选择的价格保持不变。

所以和例子:

用户选择带有大修饰符 (+$20) 的 thummb#1 并将其添加到购物车 (AJAX)。然后,当她选择拇指 #5 时,修改器设置回小,但价格仍然反映大的。

由于这一切都是通过 JS 完成的,无需重新加载页面,我该如何重置 store_product_price?

ajax : function(){
if( !$( '#product_form' ).size() ) return;

$( '#product_form' ).submit( function(){
    $( '.card .add_to_cart' ).val( 'Processing...' );
    var url = $( this ).attr( 'action' );
    var data = $( this ).serialize();
    $.post( url, data, function(){
        $( '#sidebar-cart' ).load( '/store/cart/' );
        $( '.card .add_to_cart' ).val( 'Add to Cart' );
        $( '.selected' ).removeClass( 'selected' );
        $( '.not-selected' ).removeClass( 'not-selected' );
   } );
        return false;
} );
},
4

1 回答 1

1

我不完全确定“删除并克隆修饰符”是什么意思-您是否为每个缩略图创建了一个新的小/大下拉列表?在那种情况下,它如何知道与表单一起提交哪一个?

为每个缩略图创建一个新的产品表单可能更容易,然后根据需要使用 JS 隐藏/显示修饰符。

无论如何,如果你想坚持现状,你可以看看themes/third_party/store/store.js这个store_product_price类是如何实现的(我假设你已经将这个store_product_price类添加到你的价格中,尽管你没有提到它)。如果您$debug = 1index.phpthen 中设置,它将默认加载未缩小版本的 javascript,使您更容易单步执行并查看卡在哪里。

于 2012-11-12T22:55:45.513 回答