$(function(){ 'use strict'; // * 自定义单选多选表单 // ----------------------------------------------------------------------- // 多选 function checkbox(target){ var $checkGroup = $(target); if($checkGroup.length > 0) { $checkGroup.each(function(){ var $checkBtn = $(this).find('input[type="checkbox"]'); $checkBtn.click(function(){ var $this = $(this); if($this.is(':checked')) { $this.attr('checked', true); $this.closest('label').addClass('active'); }else{ $this.removeAttr("checked"); $this.closest('label').removeClass('active'); } }); }); } } checkbox('[data-check=checkGroup]'); // 单选 function radio(target){ var $radioGroup = $(target); if($radioGroup.length > 0) { $radioGroup.each(function(){ var $radioBtn = $(this).find('input[type="radio"]'); $radioBtn.click(function(){ var $this = $(this); $radioBtn.prop('checked', false); $radioBtn.closest('label').removeClass('active'); $this.prop('checked', true); $this.closest('label').addClass('active'); }); }); } } radio('[data-radio=radioGroup]'); // * 文本输入框 // ----------------------------------------------------------------------- // 文本输入框文字提示效果 // $('.form-con').each(function(){ // var $this = $(this); // var $input = $this.find('input'); // var myhint = $input.attr('placeholder'); // var $bubble = $this.find('.tooltip-up'); // 气泡 // if($bubble.length > 0){ // 如果气泡存在 // var $bubbleTxt = $bubble.find('.tooltip-txt'); // var bubbleHeight = $bubble.outerHeight(true); // $input.on('focus', function(){ // $bubble.animate({'top': -(bubbleHeight + 4)}, 'fast').show(); // $bubbleTxt.text(myhint); // }).on('blur', function(){ // $bubble.animate({'top': -bubbleHeight}, 'fast').hide(); // $bubbleTxt.text(''); // }); // } // }); // 输入框清除按钮 function inputClear(){ var $input = $('.form-control'); $input.each(function(){ var $this = $(this), $thisNext = $this.next(); var $thisClear = $this.next().find('[data-role="clear"]'); function clear(){ // 操作命令 $thisNext.show(); $thisClear.click(function(){ $this.focus().val(''); $(this).parent().hide(); }); } // 有清除按钮时才执行 if($thisClear.length > 0) { $this.bind({ 'focus': function(){ var focuscolor = $this.css('background-color'); $thisNext.css('background-color', focuscolor); var curVal = $this.val(); if(curVal !== ''){ // 焦点状态时,输入框中有内容时执行 clear(); }else{ return; } }, 'input propertychange': function(){ var curVal = $this.val(); if(curVal !== ''){ // 输入状态时,输入框中有内容时执行 clear(); }else{ $thisNext.hide(); } }, 'blur': function(){ var blurcolor = $this.css('background-color'); $thisNext.css('background-color', blurcolor); if(curVal === ''){ // 非焦点状态时,输入框中无内容时执行 $thisNext.hide(); }else{ return; } } }); }else{ return; } }); } inputClear(); // 密码输入框 function password(open, close){ var $input = $('.form-control'); var openClass = open, closeClass = close; $input.each(function(){ var $this = $(this), $thisNext = $this.next(), $thisTrigger = $thisNext.find('[data-role="pwd"]'); var bgcolor = $thisNext.css('background-color'); if($thisTrigger.length > 0) { $thisNext.show(); $this.bind({ 'focus': function(){ var focuscolor = $this.css('background-color'); $thisNext.css('background-color', focuscolor); // 与输入框焦点状态时同背景色 }, 'blur': function(){ $thisNext.css('background-color', bgcolor); // 还原本色 } }); $thisTrigger.click(function(){ var $thisIcon = $(this).children(); var j = $thisIcon.attr('class'); if(j.indexOf(openClass) > -1) { $thisIcon.removeClass(openClass).addClass(closeClass); $this.focus().attr('type', 'text'); }else{ $thisIcon.removeClass(closeClass).addClass(openClass); $this.focus().attr('type', 'password'); } }); }else{ return; } }); } password('icon-eyesopen', 'icon-eyesclose'); // eyeicon's name // * 文本区域焦点状态(针对字数统计在框内的情况) // ----------------------------------------------------------------------- function textarea(){ var $textareaWrap = $('[data-role="textarea-numin"]'); if($textareaWrap.length > 0) { $textareaWrap.each(function(){ var $this = $(this), $thisTextarea = $this.find('textarea'); $thisTextarea.bind({ 'focus': function(){ $this.addClass('active'); }, 'blur': function(){ $this.removeClass('active'); } }); }); } } textarea(); // * 普通下拉菜单 // ----------------------------------------------------------------------- if($(".ui-select").length > 0) { $(".ui-select").each(function(){ var $this = $(this); $this.parent().click(function(){ $(".ui-select").parent().css('z-index', 1); $(this).css('z-index', 2); }); }); $(".ui-select").selectWidget({ change : function (changes) { return changes; }, effect : "slide", keyControl : true, speed : 200, scrollHeight : 250 }); } // * 下拉菜单字体颜色:默认placeholder(实际并不是) // * 只对系统默认下拉菜单有效 // ----------------------------------------------------------------------- function selectColor(unSelected, selected){ // var unSelected = unSelected; // var selected = selected; $("select").css("color", unSelected); $("option").css("color", selected); $("select").change(function () { var selItem = $(this).val(); if (selItem === $(this).find('option:first').val()) { $(this).css("color", unSelected); } else { $(this).css("color", selected); } }); } selectColor("#afafaf", "#666"); });