@@ -188,13 +188,13 @@ PUPHPET.updateOtherInputOnCheck = function() {
188
188
return 1 ;
189
189
}
190
190
191
- $target . prop ( 'checked' , checked ) ;
191
+ $target . prop ( 'checked' , checked ) . trigger ( 'change' ) ;
192
192
193
193
return true ;
194
194
}
195
195
196
196
if ( ! $target . is ( ':radio' ) && ! $target . is ( ':checkbox' ) ) {
197
- $target . val ( value ) ;
197
+ $target . val ( value ) . trigger ( 'change' ) ;
198
198
}
199
199
} ) ;
200
200
} ) ;
@@ -442,32 +442,51 @@ PUPHPET.deleteBlock = function() {
442
442
* Can hide or show an element depending on a radio element's state
443
443
*/
444
444
PUPHPET . toggleDisplayOnSelect = function ( ) {
445
- $ ( document ) . on ( 'change' , '.toggle -on-select, .display-on-select, .hide-on-select ' , function ( e ) {
446
- var dataValue = this . getAttribute ( 'data-target' ) ;
445
+ $ ( document ) . on ( 'change' , '.show -on-select' , function ( e ) {
446
+ var dataValue = this . getAttribute ( 'data-vis-show- target' ) ;
447
447
448
448
if ( dataValue == undefined ) {
449
449
return ;
450
450
}
451
451
452
- var targetId = snakeCaseToDash ( this . getAttribute ( 'data-target' ) ) ;
453
- console . log ( targetId ) ;
454
- var $target = $ ( targetId ) ;
452
+ var targetId = snakeCaseToDash ( dataValue ) ;
453
+ $ ( targetId ) . hide ( ) . removeClass ( 'hidden' ) . slideDown ( ) ;
454
+ } ) ;
455
455
456
- if ( $ ( this ) . hasClass ( 'display-on-select' ) ) {
457
- $target . slideDown ( ) ;
458
- $target . removeClass ( 'hidden' ) ;
456
+ $ ( document ) . on ( 'change' , '.hide-on-select' , function ( e ) {
457
+ var dataValue = this . getAttribute ( 'data-vis-hide-target' ) ;
459
458
459
+ if ( dataValue == undefined ) {
460
460
return ;
461
461
}
462
462
463
- if ( $ ( this ) . hasClass ( 'hide-on-select' ) ) {
464
- $target . slideUp ( ) ;
463
+ var targetId = snakeCaseToDash ( dataValue ) ;
464
+ $ ( targetId ) . slideUp ( ) ;
465
+ } ) ;
465
466
467
+ $ ( document ) . on ( 'change' , '.toggle-on-select' , function ( e ) {
468
+ var dataValue = this . getAttribute ( 'data-vis-toggle-target' ) ;
469
+
470
+ if ( dataValue == undefined ) {
466
471
return ;
467
472
}
468
473
469
- $target . slideToggle ( ) ;
470
- $target . removeClass ( 'hidden' ) ;
474
+ var targetId = snakeCaseToDash ( dataValue ) ;
475
+ var $target = $ ( targetId ) ;
476
+
477
+ // If unchecking, and target is visible, hide target
478
+ if ( $ ( this ) . not ( ':checked' ) && $target . css ( 'display' ) != 'none' ) {
479
+ $target . slideUp ( ) ;
480
+
481
+ return true ;
482
+ }
483
+
484
+ // If checking, and target is invisible, show target
485
+ if ( $ ( this ) . is ( ':checked' ) && $target . css ( 'display' ) == 'none' ) {
486
+ $target . hide ( ) ;
487
+ $target . removeClass ( 'hidden' ) ;
488
+ $target . slideDown ( ) ;
489
+ }
471
490
} ) ;
472
491
} ;
473
492
0 commit comments