opencart产品选项价格实时更新(选项自动选择)

时间:2014-02-07 07:55:57

标签: checkbox opencart option product checked

我正在使用vlcekmi3的'Product option price live update'扩展名。扩展很好。

现在我遇到了问题,当任何人选择任何选项(复选框,选择,广播等)时,此扩展程序会更新价格。我有一个产品有2个选项

Checkbox1价格500 Checkbox2价格500

我的产品价格取决于期权价格,如果有人选择两个期权价格都是1000,如果有人选择单一期权价格是500。

现在我希望默认情况下检查(选中)产品页面上的两个选项,因此产品价格为1000,因此默认选择两个选项。如果用户未选中任何选项价格是根据它。

目录\ view \ theme \ default \ template \ product.tpl中的

我改变了

<input type="checkbox" checked="checked" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?> " id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

默认选择机器人复选框。工作正常但价格默认不更新。

请帮我完成这个我是新手。

这是javascript代码

<script type="text/javascript"><!-- $('.option').change(function() { $.ajax({ url: 'index.php?route=product/product/updatePrice', type: 'post', data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'), dataType: 'json', success: function(json) { //$('.success, .warning, .attention, information, .error').remove(); if (json['price']) { $('.product-info .updated-price').text(json['price']); }
if (json['special']) { $('.product-info .price-new').text(json['special']); $('.product-info .price-old').text(json['price']); } if (json['tax']) { $('.price-tax').text(json['tax']); } } }); }); //--></script>

感谢

1 个答案:

答案 0 :(得分:1)

产品的价格由JavaScript(我相信)更新,因此您还必须通过JavaScript检查复选框。而不是在HTML中设置checked="checked"您必须执行以下操作:

$(document).ready(function() {
    $('#options input[type=checkbox]').each(function() { // searching for all checkboxes inside of <div id="options">
        $(this).click(); // simulating user click
    });
});

确保<div id="options">是呈现产品选项的div,否则,相应地更改JS代码。

无论如何,关于第三方扩展的问题并非如此 - 请下次请求扩展的开发者支持。