/** * jQuery ligerUI 1.1.9 * * http://ligerui.com * * Author daomi 2012 [ gd_star@163.com ] * */ (function ($) { $.fn.ligerTextBox = function () { return $.ligerui.run.call(this, "ligerTextBox", arguments); }; $.fn.ligerGetTextBoxManager = function () { return $.ligerui.run.call(this, "ligerGetTextBoxManager", arguments); }; $.ligerDefaults.TextBox = { onChangeValue: null, width: null, disabled: false, value: null, //初始化值 nullText: null, //不能为空时的提示 digits: false, //是否限定为数字输入框 number: false //是否限定为浮点数格式输入框 }; $.ligerui.controls.TextBox = function (element, options) { $.ligerui.controls.TextBox.base.constructor.call(this, element, options); }; $.ligerui.controls.TextBox.ligerExtend($.ligerui.controls.Input, { __getType: function () { return 'TextBox' }, __idPrev: function () { return 'TextBox'; }, _init: function () { $.ligerui.controls.TextBox.base._init.call(this); var g = this, p = this.options; if (!p.width) { p.width = $(g.element).width(); } if ($(this.element).attr("readonly")) { p.disabled = true; } }, _render: function () { var g = this, p = this.options; g.inputText = $(this.element); //外层 g.wrapper = g.inputText.wrap('
').parent(); g.wrapper.append(''); if (!g.inputText.hasClass("l-text-field")) g.inputText.addClass("l-text-field"); this._setEvent(); g.set(p); g.checkValue(); }, _getValue: function () { return this.inputText.val(); }, _setNullText: function () { this.checkNotNull(); }, checkValue: function () { var g = this, p = this.options; var v = g.inputText.val(); if (p.number && !/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(v) || p.digits && !/^\d+$/.test(v)) { g.inputText.val(g.value || 0); return; } g.value = v; }, checkNotNull: function () { var g = this, p = this.options; if (p.nullText && !p.disabled) { if (!g.inputText.val()) { g.inputText.addClass("l-text-field-null").val(p.nullText); } } }, _setEvent: function () { var g = this, p = this.options; g.inputText.bind('blur.textBox', function () { g.trigger('blur'); g.checkNotNull(); g.checkValue(); g.wrapper.removeClass("l-text-focus"); }).bind('focus.textBox', function () { g.trigger('focus'); if (p.nullText) { if ($(this).hasClass("l-text-field-null")) { $(this).removeClass("l-text-field-null").val(""); } } g.wrapper.addClass("l-text-focus"); }) .change(function () { g.trigger('changeValue', [this.value]); }); g.wrapper.hover(function () { g.trigger('mouseOver'); g.wrapper.addClass("l-text-over"); }, function () { g.trigger('mouseOut'); g.wrapper.removeClass("l-text-over"); }); }, _setDisabled: function (value) { if (value) { this.inputText.attr("readonly", "readonly"); this.wrapper.addClass("l-text-disabled"); } else { this.inputText.removeAttr("readonly"); this.wrapper.removeClass('l-text-disabled'); } }, _setWidth: function (value) { if (value > 20) { this.wrapper.css({ width: value }); this.inputText.css({ width: value - 4 }); } }, _setHeight: function (value) { if (value > 10) { this.wrapper.height(value); this.inputText.height(value - 2); } }, _setValue: function (value) { if (value != null) this.inputText.val(value); }, _setLabel: function (value) { var g = this, p = this.options; if (!g.labelwrapper) { g.labelwrapper = g.wrapper.wrap('').parent(); var lable = $('