Skip to content

Commit 7ac34d8

Browse files
author
Benjamin Pick
committed
Number format should not happen during parsing, but only on display. Fixes speccode#11
1 parent be2bff8 commit 7ac34d8

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

assets/js/acf-price-v4.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
function initialize_field( $el ) {
44
var $input = $el.find('input');
5-
$input.number( true, $input.data('format-decimals'), $input.data('format-decimal_point'), $input.data('format-thousands_separator') );
5+
var val = $input.val();
6+
$input.number(true, $input.data('format-decimals'), $input.data('format-decimal_point'), $input.data('format-thousands_separator') );
7+
$input.val(val);
68
}
79

810
$(document).on('acf/setup_fields', function(e, postbox){

assets/js/acf-price-v5.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
function initialize_field( $el ) {
44
var $input = $el.find('input');
5-
$input.number( true, $input.data('format-decimals'), $input.data('format-decimal_point'), $input.data('format-thousands_separator') );
5+
var val = $input.val();
6+
$input.number(true, $input.data('format-decimals'), $input.data('format-decimal_point'), $input.data('format-thousands_separator') );
7+
$input.val(val);
68
}
79

810
acf.add_action('ready append', function( $el ) {

fields/acf-price-common.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@ public function update_value( $value, $post_id, $field )
4949
return $value;
5050
}
5151

52+
public function load_value( $value, $post_id, $field )
53+
{
54+
if ( empty( $value ) ) {
55+
$value = 0;
56+
}
57+
58+
return $value;
59+
}
60+
5261
public function format_value( $value, $post_id, $field )
5362
{
5463
$format = $this->parse_format( $field['format'] );
@@ -59,4 +68,5 @@ public function format_value( $value, $post_id, $field )
5968

6069
return number_format( $value, $format['decimals'], $format['decimal_point'], $format['thousands_separator'] );
6170
}
71+
6272
}

0 commit comments

Comments
 (0)