I’m having trouble with javascript because I don’t have much knowledge.
So, I want when the option is selected this can be change the link on the button
/*! * Pricing Table Select Price Change */ ;(function($){ if (!$) { return; } $(document).ready(function(){ var $parent = $('.parent-select-price'); if (!$parent.length) { return; } var $select = $parent.find('select.select-price[data-target]'); if (!$select.length) { return; } $select.each(function() { $(this).parent($parent).fadeIn(); var $target = $(this).attr('data-target'); if (!$target) { return; } try { $target = $('[data-price='+$target+']'); } catch(ea) { return; } if (!$target || !$target.length) { return; } var $selected = $(this).find('option:selected'); if ($selected.length) { var $value = $selected.val(); $target.html($value); } $(this).on('change', function(e) { e.stopPropagation(); $selected = $(this).find('option:selected'); var $value = $selected.val(); $target.html($value); }); }); }); })(window.jQuery);
<div class="form-group parent-select-price"> <select class="form-control select-price" data-target="plan1"> <option value="126" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=monthly&promocode=">Monthly (Discount 10%)</option> <option value="126" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=quarterly&promocode=">Quarterly (Discount 10%)</option> <option value="112" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=semiannually&promocode=">Semi-Annually (Discount 20%)</option> <option value="105" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=annually&promocode=">Annually (Discount 25%)</option> <option value="98" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=biennially&promocode=">Biennially (Discount 30%)</option> <option value="70" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=triennially&promocode=" selected>Triennially (Discount 50%)</option> </select> </div> <a id="link_button-31-28884" class="ct-link-button" href="https://example.com/cart.php?a=add&pid=160&billingcycle=triennially&promocode=" target="_blank">Buy Now</a>
So how about when we select Quarterly then the url on the button will change to quarterly data-url?
Advertisement
Answer
/*! * Pricing Table Select Price Change */ ;(function($){ if (!$) { return; } $(document).ready(function(){ var $parent = $('.parent-select-price'); if (!$parent.length) { return; } var $select = $parent.find('select.select-price[data-target]'); if (!$select.length) { return; } $select.each(function() { $(this).parent($parent).fadeIn(); var $target = $(this).attr('data-target'); if (!$target) { return; } $target = $('[data-price='+$target+']'); if ($target.length==0) { return; } var $selected = $(this).find('option:selected'); if ($selected.length) { $target.html($selected.val()); } $(this).on('change', function(e) { e.stopPropagation(); $selected = $(this).find('option:selected'); $target.html($selected.val()); $('#link_button-31-28884').attr('href',$selected.data('url')); }); }); }); })(window.jQuery);
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> </head> <body> Price: <span data-price="plan1"></span> <div class="form-group parent-select-price"> <select class="form-control select-price" data-target="plan1"> <option value="126" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=monthly&promocode=">Monthly (Discount 10%)</option> <option value="126" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=quarterly&promocode=">Quarterly (Discount 10%)</option> <option value="112" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=semiannually&promocode=">Semi-Annually (Discount 20%)</option> <option value="105" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=annually&promocode=">Annually (Discount 25%)</option> <option value="98" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=biennially&promocode=">Biennially (Discount 30%)</option> <option value="70" class="cycle" data-url="https://example.com/cart.php?a=add&pid=160&billingcycle=triennially&promocode=" selected>Triennially (Discount 50%)</option> </select> </div> <a id="link_button-31-28884" class="ct-link-button" href="https://example.com/cart.php?a=add&pid=160&billingcycle=triennially&promocode=" target="_blank">Buy Now</a> <script src="https://code.jquery.com/jquery-3.1.0.js"></script> </body> </html>