You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1018 B

9 months ago
( function ( $, rwmb ) {
'use strict';
function setActiveClass() {
var $this = $( this ),
$input = $this.find( 'input' ),
$label = $input.parent();
if ( $input.prop( 'checked' ) ) {
$label.addClass( 'selected' );
} else {
$label.removeClass( 'selected' );
}
}
function clickHandler() {
var $this = $( this ),
$input = $this.find( 'input' ),
$label = $input.parent(),
type = $input.attr( 'type' ),
$allLabels = $this.parent().find( 'label' );
if ( ! $input.prop( 'checked' ) ) {
$label.removeClass( 'selected' );
return;
}
$label.addClass( 'selected' );
if ( 'radio' === type ) {
$allLabels.removeClass( 'selected' );
$label.addClass( 'selected' );
}
}
function init( e ) {
$( e.target ).find( '.rwmb-button-input-list label' ).each( setActiveClass );
}
rwmb.$document
.on( 'mb_ready', init )
.on( 'click', '.rwmb-button-input-list label', clickHandler )
.on( 'clone', '.rwmb-button-input-list label', setActiveClass );
} )( jQuery, rwmb );