/* =========================================================== * jQuery Floating Form Labels * * Author: Drew Rawitz * http://www.drewrawitz.com * * https://github.com/drewrawitz/jquery-floating-form-label * * Options: * - addRequiredAsterisk (boolean) * ========================================================== */ (function ($) { 'use strict'; $.fn.floatingFormLabel = function (options) { console.log(options); // ; // Default options var defaults = { addRequiredAsterisk: true }; var opts = $.extend(true, {}, defaults, options); return this.each(function () { // ; // define some variables var $element = $(this), label = $element.attr('placeholder'), activeClass = 'float-label--active'; var s = $element.val(); var $container = $element; var xb = $container.context.id; if(xb == "token-input-airlinecode1" || xb == "token-input-outbound-airport-1" || xb == "token-input-arrival-airport-1" || xb == "token-input-airlinecode2" || xb == "token-input-outbound-airport-2" || xb == "token-input-arrival-airport-2" || xb == "token-input-airlinecode3" || xb == "token-input-outbound-airport-3" || xb == "token-input-arrival-airport-3" || xb == "token-input-airlinecode4" || xb == "token-input-outbound-airport-4" || xb == "token-input-arrival-airport-4" || xb == "token-input-airlinecode5" || xb == "token-input-outbound-airport-5" || xb == "token-input-arrival-airport-5" || xb == "token-input-airlinecode6" || xb == "token-input-outbound-airport-6" || xb == "token-input-arrival-airport-6" || xb == "token-input-airlinecode7" || xb == "token-input-outbound-airport-7" || xb == "token-input-arrival-airport-7" || xb == "token-input-airlinecodelast" || xb == "token-input-outbound-airport-last" || xb == "token-input-arrival-airport-last"){ $element.parent().removeClass(activeClass).find('label').fadeOut(300); }else{ $element.wrap('
'); $('').insertBefore($element); } // wrap the inputs with our markup if(s !== ""){ $element.parent().addClass(activeClass).find('label').fadeIn(300); } else { $element.parent().removeClass(activeClass).find('label').fadeOut(300); } // on keyup or change (for autofill), add / remove the appropriate classes $element.bind('change keyup', function() { // ; if($element.val()) { $element.parent().addClass(activeClass).find('label').fadeIn(300); } else { $element.parent().removeClass(activeClass).find('label').fadeOut(300); } }); // handling the active classes based on input focus $element.blur(function() { // ; $element.parent().removeClass(activeClass); }).focus(function() { //; var s = $element.val(); var $container = $element; var sb = $container.context.id; if(isMobileDevice()){ if(sb !== "token-input-destinationm"){ if(s === ""){ $element.parent().removeClass(activeClass).find('label').fadeOut(300); return; } } }else{ if(sb !== "token-input-destination"){ if(s === ""){ $element.parent().removeClass(activeClass).find('label').fadeOut(300); return; } } } //$element.parent().addClass(activeClass); }); }); }; }(jQuery));