Return原值jquery/php
Return original value jquery / php
我正在使用此代码 运行 我的额外按钮。它将原始价格值更改为自定义值。是否可以再次单击名为“afterclickbutton”的按钮以获取原始价格的价格 - 意思是获取正常价格,并重置整个东西,因此可以再次单击并获取自定义值,然后单击并获取正常价格值等等等?
// Přidání bestpprice' vlastního pole
$bestprice = get_post_meta( $product->get_id(), '_bestprice', true);
if( ! empty($bestprice) ):
$bestprice = wc_get_price_to_display( $product, array( 'price' => $bestprice ) );
$reg_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) );
$range = wc_format_sale_price( $reg_price, $bestprice );
?>
<!-- The button and hidden field -->
<div class="bestprice-wrapper"><br>
<a href="" class="get_bestprice button alt" id="get_bestprice"><?php _e('Aktivovat lepší cenu');?></a>
<input type="hidden" name="bestprice" id="bestprice" class="bestprice" value="" />
</div>
<!-- The jQuery code -->
<script type="text/javascript">
(function($){
var b = '<?php echo $bestprice; ?>',
i = 'input[name=bestprice]',
p = 'p.price',
r = '<?php echo $range; ?>',
t = 'a#get_bestprice'
u = true;
$(t).click( function(e){
e.preventDefault();
if(u){
$(p).html(r); // Replacing price with the range
$(i).val(b); // Set the best price in hidden input field
$(t).text(‚Activated'); // change button text
$(t).removeClass('alt'); // Remove button 'alt' class for styling
$(t).removeClass('get_bestprice')
$(t).addClass(‚afterclickbutton')
u = false; // Disable button
}
});
})(jQuery);
</script>
<?php
endif; }
更新 2:
if( ! empty($bestprice) ):
$bestprice = wc_get_price_to_display( $product, array( 'price' => $bestprice ) );
$reg_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) );
$range = wc_format_sale_price( $reg_price, $bestprice );
?>
<!-- The button and hidden field -->
<div class="bestprice-wrapper"><br>
<a href="" class="get_bestprice button alt" id="get_bestprice"><?php _e('Aktivovat lepší cenu');?></a>
<input type="hidden" name="bestprice" id="bestprice" class="bestprice" value="" />
</div>
<!-- The jQuery code -->
<script type="text/javascript">
(function($){
var b = '<?php echo $bestprice; ?>',
o = $('p.price').clone().find('del').remove().end().text().trim().replace(/[^\d.,]/g, ''),
i = 'input[name=bestprice]',
p = 'p.price',
r = '<?php echo $range; ?>',
t = 'a#get_bestprice'
u = true;
$(t).click( function(e){
e.preventDefault();
if(u){
if ($(p).attr('type') == undefined){ $(p).attr('type','_regular_price') };
if ($(`${p}[type="_best_price"]`).length == 0) {
$(p).hide().after(`<p class="price" type="_best_price">${r}</p>`); // add best price and hide regulare
}else{
$(`${p}[type="_regular_price"]`).hide();
$(`${p}[type="_best_price"]`).show();
}
//$(p).html(r); // Replacing price with the range
$(i).val(b); // Set the best price in hidden input field
$(t).text('Activated') // change button text
.removeClass('alt get_bestprice') // Remove button 'alt' class for styling
.addClass('afterclickbutton');
u = false; // Disable button
}else{
$(`${p}[type="_best_price"]`).hide();
$(`${p}[type="_regular_price"]`).show();
$(i).val(o);
$(t).text('Active best price')
.addClass('alt get_bestprice')
.removeClass('afterclickbutton');
u = true;
}
});
})(jQuery);
</script>
<?php
endif; }
我正在使用此代码 运行 我的额外按钮。它将原始价格值更改为自定义值。是否可以再次单击名为“afterclickbutton”的按钮以获取原始价格的价格 - 意思是获取正常价格,并重置整个东西,因此可以再次单击并获取自定义值,然后单击并获取正常价格值等等等?
// Přidání bestpprice' vlastního pole $bestprice = get_post_meta( $product->get_id(), '_bestprice', true);
if( ! empty($bestprice) ): $bestprice = wc_get_price_to_display( $product, array( 'price' => $bestprice ) ); $reg_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ); $range = wc_format_sale_price( $reg_price, $bestprice ); ?> <!-- The button and hidden field --> <div class="bestprice-wrapper"><br> <a href="" class="get_bestprice button alt" id="get_bestprice"><?php _e('Aktivovat lepší cenu');?></a> <input type="hidden" name="bestprice" id="bestprice" class="bestprice" value="" /> </div> <!-- The jQuery code --> <script type="text/javascript"> (function($){ var b = '<?php echo $bestprice; ?>', i = 'input[name=bestprice]', p = 'p.price', r = '<?php echo $range; ?>', t = 'a#get_bestprice' u = true; $(t).click( function(e){ e.preventDefault(); if(u){ $(p).html(r); // Replacing price with the range $(i).val(b); // Set the best price in hidden input field $(t).text(‚Activated'); // change button text $(t).removeClass('alt'); // Remove button 'alt' class for styling $(t).removeClass('get_bestprice') $(t).addClass(‚afterclickbutton') u = false; // Disable button } }); })(jQuery); </script> <?php endif; }
更新 2:
if( ! empty($bestprice) ):
$bestprice = wc_get_price_to_display( $product, array( 'price' => $bestprice ) );
$reg_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) );
$range = wc_format_sale_price( $reg_price, $bestprice );
?>
<!-- The button and hidden field -->
<div class="bestprice-wrapper"><br>
<a href="" class="get_bestprice button alt" id="get_bestprice"><?php _e('Aktivovat lepší cenu');?></a>
<input type="hidden" name="bestprice" id="bestprice" class="bestprice" value="" />
</div>
<!-- The jQuery code -->
<script type="text/javascript">
(function($){
var b = '<?php echo $bestprice; ?>',
o = $('p.price').clone().find('del').remove().end().text().trim().replace(/[^\d.,]/g, ''),
i = 'input[name=bestprice]',
p = 'p.price',
r = '<?php echo $range; ?>',
t = 'a#get_bestprice'
u = true;
$(t).click( function(e){
e.preventDefault();
if(u){
if ($(p).attr('type') == undefined){ $(p).attr('type','_regular_price') };
if ($(`${p}[type="_best_price"]`).length == 0) {
$(p).hide().after(`<p class="price" type="_best_price">${r}</p>`); // add best price and hide regulare
}else{
$(`${p}[type="_regular_price"]`).hide();
$(`${p}[type="_best_price"]`).show();
}
//$(p).html(r); // Replacing price with the range
$(i).val(b); // Set the best price in hidden input field
$(t).text('Activated') // change button text
.removeClass('alt get_bestprice') // Remove button 'alt' class for styling
.addClass('afterclickbutton');
u = false; // Disable button
}else{
$(`${p}[type="_best_price"]`).hide();
$(`${p}[type="_regular_price"]`).show();
$(i).val(o);
$(t).text('Active best price')
.addClass('alt get_bestprice')
.removeClass('afterclickbutton');
u = true;
}
});
})(jQuery);
</script>
<?php
endif; }