@@ -27,8 +27,8 @@ define([
27
27
} ) ;
28
28
} ,
29
29
_initOptionItem : function ( ) {
30
- var widget = this ;
31
- var originalElementClass = $ ( widget . element ) . attr ( 'class ') ;
30
+ var widget = this ,
31
+ isOriginalRequired = $ ( widget . element ) . hasClass ( 'required ') ;
32
32
33
33
this . _on ( {
34
34
//Add new tax item
@@ -44,7 +44,9 @@ define([
44
44
//Change tax item country/state
45
45
'change [data-role="select-country"]' : function ( event , data ) {
46
46
var currentElement = event . target || event . srcElement || event . currentTarget ,
47
- parentElement = $ ( currentElement ) . closest ( '[data-role="fpt-item-row"]' ) ;
47
+ parentElement = $ ( currentElement ) . closest ( '[data-role="fpt-item-row"]' ) ,
48
+ isCurrentRequired = $ ( widget . element ) . hasClass ( 'required' ) ;
49
+
48
50
data = data || { } ;
49
51
var updater = new RegionUpdater (
50
52
parentElement . find ( '[data-role="select-country"]' ) . attr ( 'id' ) , null ,
@@ -56,10 +58,9 @@ define([
56
58
if ( data . state ) {
57
59
parentElement . find ( '[data-role="select-state"]' ) . val ( data . state ) ;
58
60
}
59
- //fpt is a field with multiple sub-fields so we restore it's required status
60
- var currentElementClass = $ ( widget . element ) . attr ( 'class' ) ;
61
- if ( ! originalElementClass . match ( / r e q u i r e d / ) && currentElementClass . match ( / r e q u i r e d / ) )
62
- $ ( widget . element ) . attr ( 'class' , originalElementClass ) ;
61
+ if ( ! isOriginalRequired && isCurrentRequired ) {
62
+ $ ( widget . element ) . removeClass ( 'required' ) ;
63
+ }
63
64
}
64
65
} ) ;
65
66
0 commit comments