var price_with_options_ajax_call = function() { $.ajax({ type: 'POST', url: 'index.php?route=product/live_options/index&product_id=1279', data: $('#content input[type=\'text\'], #content input[type=\'hidden\'], #content input[type=\'radio\']:checked, #content input[type=\'checkbox\']:checked, #content select, #content textarea'), dataType: 'json', beforeSend: function() { // you can add smth useful here }, complete: function() { // you can add smth useful here }, success: function(json) { if (json.success) { if ($('#content .price-tax').length > 0 && json.new_price.tax) { animation_on_change_price_with_options('#content .price-tax', json.new_price.tax); } if ($('#content .price-new').length > 0 && json.new_price.special) { animation_on_change_price_with_options('#content .price-new', json.new_price.special); } if ($('#content .price-old').length > 0 && json.new_price.price) { animation_on_change_price_with_options('#content .price-old', json.new_price.price); } // points if ($('#content .spend-points').length > 0 && json.new_price.points) { animation_on_change_price_with_options('#content .spend-points', json.new_price.points); } // reward if ($('#content .get-reward').length > 0 && json.new_price.reward) { animation_on_change_price_with_options('#content .get-reward', json.new_price.reward); } } }, error: function(error) { console.log('error: '+error); } }); } var animation_on_change_price_with_options = function(selector_class_or_id, new_html_content) { $(selector_class_or_id).fadeOut(150, function() { $(this).html(new_html_content).fadeIn(50); }); } if ( jQuery.isFunction(jQuery.fn.on) ) { $(document).on('change', '#content input[type=\'text\'], #content input[type=\'hidden\'], #content input[type=\'radio\']:checked, #content input[type=\'checkbox\'], #content select, #content textarea, .product-info input[name=\'quantity\']', function () { var cur_opt = $(this); $('#product input[type="radio"]').prop('checked', false); cur_opt.prop('checked', true); price_with_options_ajax_call(); }); } else { $('#content input[type=\'text\'], #content input[type=\'hidden\'], #content input[type=\'radio\']:checked, #content input[type=\'checkbox\']:checked, #content select, #content textarea, .product-info input[name=\'quantity\']').live('change', function() { var cur_opt = $(this); $('#product input[type="radio"]').prop('checked', false); cur_opt.prop('checked', true); price_with_options_ajax_call(); }); }