/** * jQuery EasyUI 1.3.6 * * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. * * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt * To use it on other terms please contact us at info@jeasyui.com * */ (function ($) { function _1(_2) { $(_2).addClass("numberbox numberbox-f"); var v = $("").insertAfter(_2); var _3 = $(_2).attr("name"); if (_3) { v.attr("name", _3); $(_2).removeAttr("name").attr("numberboxName", _3); } return v; }; function _4(_5) { var _6 = $.data(_5, "numberbox").options; var fn = _6.onChange; _6.onChange = function () { }; _7(_5, _6.parser.call(_5, _6.value)); _6.onChange = fn; _6.originalValue = _8(_5); }; function _9(_a, _b) { var _c = $.data(_a, "numberbox").options; if (_b) { _c.width = _b; } var t = $(_a); var _d = $("
").insertBefore(t); t.appendTo("body"); if (isNaN(_c.width)) { _c.width = t.outerWidth(); } t._outerWidth(_c.width)._outerHeight(_c.height); t.css("line-height", t.height() + "px"); t.insertAfter(_d); _d.remove(); }; function _8(_e) { return $.data(_e, "numberbox").field.val(); }; function _7(_f, _10) { var _11 = $.data(_f, "numberbox"); var _12 = _11.options; var _13 = _8(_f); _10 = _12.parser.call(_f, _10); _12.value = _10; _11.field.val(_10); $(_f).val(_12.formatter.call(_f, _10)); if (_13 != _10) { _12.onChange.call(_f, _10, _13); } }; function _14(_15) { var _16 = $.data(_15, "numberbox").options; $(_15).unbind(".numberbox").bind("keypress.numberbox", function (e) { return _16.filter.call(_15, e); }).bind("blur.numberbox", function () { _7(_15, $(this).val()); $(this).val(_16.formatter.call(_15, _8(_15))); }).bind("focus.numberbox", function () { var vv = _8(_15); if (vv != _16.parser.call(_15, $(this).val())) { $(this).val(_16.formatter.call(_15, vv)); } }); }; function _17(_18) { if ($.fn.validatebox) { var _19 = $.data(_18, "numberbox").options; $(_18).validatebox(_19); } }; function _1a(_1b, _1c) { var _1d = $.data(_1b, "numberbox").options; if (_1c) { _1d.disabled = true; $(_1b).attr("disabled", true); } else { _1d.disabled = false; $(_1b).removeAttr("disabled"); } }; $.fn.numberbox = function (_1e, _1f) { if (typeof _1e == "string") { var _20 = $.fn.numberbox.methods[_1e]; if (_20) { return _20(this, _1f); } else { return this.validatebox(_1e, _1f); } } _1e = _1e || {}; return this.each(function () { var _21 = $.data(this, "numberbox"); if (_21) { $.extend(_21.options, _1e); } else { _21 = $.data(this, "numberbox", { options: $.extend({}, $.fn.numberbox.defaults, $.fn.numberbox.parseOptions(this), _1e), field: _1(this) }); $(this).removeAttr("disabled"); $(this).css({ imeMode: "disabled" }); } _1a(this, _21.options.disabled); _9(this); _14(this); _17(this); _4(this); }); }; $.fn.numberbox.methods = { options: function (jq) { return $.data(jq[0], "numberbox").options; }, destroy: function (jq) { return jq.each(function () { $.data(this, "numberbox").field.remove(); $(this).validatebox("destroy"); $(this).remove(); }); }, resize: function (jq, _22) { return jq.each(function () { _9(this, _22); }); }, disable: function (jq) { return jq.each(function () { _1a(this, true); }); }, enable: function (jq) { return jq.each(function () { _1a(this, false); }); }, fix: function (jq) { return jq.each(function () { _7(this, $(this).val()); }); }, setValue: function (jq, _23) { return jq.each(function () { _7(this, _23); }); }, getValue: function (jq) { return _8(jq[0]); }, clear: function (jq) { return jq.each(function () { var _24 = $.data(this, "numberbox"); _24.field.val(""); $(this).val(""); }); }, reset: function (jq) { return jq.each(function () { var _25 = $(this).numberbox("options"); $(this).numberbox("setValue", _25.originalValue); }); } }; $.fn.numberbox.parseOptions = function (_26) { var t = $(_26); return $.extend({}, $.fn.validatebox.parseOptions(_26), $.parser.parseOptions(_26, [ "width", "height", "decimalSeparator", "groupSeparator", "suffix", { min: "number", max: "number", precision: "number" } ]), { prefix: (t.attr("prefix") ? t.attr("prefix") : undefined), disabled: (t.attr("disabled") ? true : undefined), value: (t.val() || undefined) }); }; $.fn.numberbox.defaults = $.extend({}, $.fn.validatebox.defaults, { width: "auto", height: 22, disabled: false, value: "", min: null, max: null, precision: 0, decimalSeparator: ".", groupSeparator: "", prefix: "", suffix: "", filter: function (e) { var _27 = $(this).numberbox("options"); if (e.which == 45) { return ($(this).val().indexOf("-") == -1 ? true : false); } var c = String.fromCharCode(e.which); if (c == _27.decimalSeparator) { return ($(this).val().indexOf(c) == -1 ? true : false); } else { if (c == _27.groupSeparator) { return true; } else { if ((e.which >= 48 && e.which <= 57 && e.ctrlKey == false && e.shiftKey == false) || e.which == 0 || e.which == 8) { return true; } else { if (e.ctrlKey == true && (e.which == 99 || e.which == 118)) { return true; } else { return false; } } } } }, formatter: function (_28) { if (!_28) { return _28; } _28 = _28 + ""; var _29 = $(this).numberbox("options"); var s1 = _28, s2 = ""; var _2a = _28.indexOf("."); if (_2a >= 0) { s1 = _28.substring(0, _2a); s2 = _28.substring(_2a + 1, _28.length); } if (_29.groupSeparator) { var p = /(\d+)(\d{3})/; while (p.test(s1)) { s1 = s1.replace(p, "$1" + _29.groupSeparator + "$2"); } } if (s2) { return _29.prefix + s1 + _29.decimalSeparator + s2 + _29.suffix; } else { return _29.prefix + s1 + _29.suffix; } }, parser: function (s) { s = s + ""; var _2b = $(this).numberbox("options"); if (parseFloat(s) != s) { if (_2b.prefix) { s = $.trim(s.replace(new RegExp("\\" + $.trim(_2b.prefix), "g"), "")); } if (_2b.suffix) { s = $.trim(s.replace(new RegExp("\\" + $.trim(_2b.suffix), "g"), "")); } if (_2b.groupSeparator) { s = $.trim(s.replace(new RegExp("\\" + _2b.groupSeparator, "g"), "")); } if (_2b.decimalSeparator) { s = $.trim(s.replace(new RegExp("\\" + _2b.decimalSeparator, "g"), ".")); } s = s.replace(/\s/g, ""); } var val = parseFloat(s).toFixed(_2b.precision); if (isNaN(val)) { val = ""; } else { if (typeof (_2b.min) == "number" && val < _2b.min) { val = _2b.min.toFixed(_2b.precision); } else { if (typeof (_2b.max) == "number" && val > _2b.max) { val = _2b.max.toFixed(_2b.precision); } } } return val; }, onChange: function (_2c, _2d) { } }); })(jQuery);