(function(jQuery){ jQuery.fn.extend({ check: function() { return this.each(function() { this.checked = true; }); }, uncheck: function() { return this.each(function() { this.checked = false; }); } }); jQuery.fn.reCaptcha = function() { var el = jQuery(this); var lis = el.find("li"); var radios = el.find("input[type=radio]"); var images = el.find("img"); lis.each(function(i) { jQuery(lis[i]).click(function() { list = jQuery(this).attr('data-list'); images.each(function() { _this = jQuery(this); if (_this.attr('data-list') == list) jQuery(this).removeClass('reCaptchaSelected').addClass('reCaptchaImage'); }); jQuery(images[i]).addClass('reCaptchaSelected').removeClass('reCaptchaImage'); jQuery(radios[i]).check(); jQuery(radios[i]).closest("form").data('bootstrapValidator').revalidateField('reCaptcha'); jQuery(radios[i]).closest("form").data('bootstrapValidator').revalidateField('reCaptcha2'); }); }); } })(jQuery);