我只想在WooCommerce的简单产品页面上运行一个jQuery代码。
这是我的代码:
jQuery(document).ready(function( $ ){
let qty = document.getElementById('qty');
qty.onblur = function(){
let val = this.value; // Current Value
let step = this.getAttribute('step'); // Get step instead of hard coding it
let roundDown = (val - (val % step)).toFixed(2);
let roundUp = (parseFloat(roundDown) + parseFloat(step)).toFixed(2);
this.value = roundUp;
}
});
我如何在Javascript代码中实现这一点?
发布于 2018-06-04 02:13:03
如果您的代码导致错误,因为在其余页面上没有id为"qty“的元素,您可以将此代码添加到主js文件中,如下所示:
$(function() {
if ( $('#qty').length ) {
let qty = document.getElementById('qty');
qty.onblur = function(){
let val = this.value; // Current Value
let step = this.getAttribute('step'); // Get step instead of hard coding it
let roundDown = (val - (val % step)).toFixed(2);
let roundUp = (parseFloat(roundDown) + parseFloat(step)).toFixed(2);
this.value = roundUp;
}
}
});
或者,您可以在结束标记之前将此代码添加到footer.php中,添加输出条件:
<?php is_singular( 'products' ) :?> <!--change this to your need - https://codex.wordpress.org/Conditional_Tags -->
<script>
jQuery(document).ready(function( $ ){
let qty = document.getElementById('qty');
qty.onblur = function(){
let val = this.value; // Current Value
let step = this.getAttribute('step'); // Get step instead of hard coding it
let roundDown = (val - (val % step)).toFixed(2);
let roundUp = (parseFloat(roundDown) + parseFloat(step)).toFixed(2);
this.value = roundUp;
}
});
</script>
<?php endif;?>
https://stackoverflow.com/questions/50668438
复制相似问题