我想在Woocommerce产品页面的自定义输入字段中添加一个千位分隔符。
这是我的代码:
jQuery(document).ready(function () {
jQuery(document).on('input', '.number-separator', function (e) {
if (/^[0-9.,]+$/.test(jQuery(this).val())) {
jQuery(this).val(
parseFloat(jQuery(this).val().replace(/,/g, '')).toLocaleString('en')
);
} else {
jQuery(this).val(
jQuery(this)
.val()
.substring(0, jQuery(this).val().length - 1)
);
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="tmcp_textfield_6" class="number-separator" value="" >
一切似乎都是正确的,但是当我把产品添加到购物车时只加上价格的第一部分。
例如,输入数字5,000,000只有编号5将被添加到购物车
from function file
// Woocommerce add thousand separator in custom price field
add_filter('woocommerce_price_format', 'digitalize_price_format');
function digitalize_price_format($format) {
$format['decimal_point'] = '.';
$format['thousand_sep'] = ',';
return $format;
}