//# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // //# CHECKBOX (function($) { $.fn.checkboxFx = function(config) { //: var defaults = {}; //: var options = $.extend({}, defaults, config); //: return this.each(function() { var $node = $(this); var $input = $node.find('input'); var $inputName = $input.attr('name'); var $inputChecked = $input.prop('checked'); var $inputDisabled = $input.prop('disabled'); $node.attr('data-name', $inputName); $node.find('> span').addClass('Text'); $node.prepend(''); if ( $inputChecked ) { $node.addClass('Checked'); } $node .on('click.checkboxEvent', function(e) { var target = e.target; var tagname = target.tagName.toLowerCase(); if ( tagname != 'a' ) { stopEvent(e); if ( !$inputDisabled ) { toggleCheckedCheckbox( $(this) ); } } }); $node.find('a') .on('click.checkboxEvent', function(e) { stopEvent(e); var aUrl = $(this).attr('href'); var aTarget = $(this).attr('target'); window.open(aUrl, aTarget); return false; }); }); //: function toggleCheckedCheckbox(_obj) { var dataName = _obj.attr('data-name'); if ( !_obj.find('input').prop('checked') ) { _obj.addClass('Checked'); _obj.find('input').prop('checked', true); } else { _obj.removeClass('Checked'); _obj.find('input').prop('checked', false); } _obj.find('input').trigger('change'); } }; })(jQuery); //# INIT CHECKBOX $(document).ready(function() { var $formCheckbox = $('form .Checkbox'); if ( $formCheckbox.length > 0 ) { $formCheckbox.checkboxFx(); } });