/** * jQuery ligerUI 1.1.9 * * http://ligerui.com * * Author daomi 2012 [ gd_star@163.com ] * */ (function ($) { $.fn.ligerForm = function () { return $.ligerui.run.call(this, "ligerForm", arguments); }; $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Form = { //控件宽度 // inputWidth: 180, //标签宽度 labelWidth: 90, //间隔宽度 space: 40, rightToken: ':', //标签对齐方式 labelAlign: 'left', //控件对齐方式 align: 'left', //字段 fields: [], //创建的表单元素是否附加ID appendID: true, //生成表单元素ID的前缀 prefixID: "", //json解析函数 toJSON: $.ligerui.toJSON }; //@description 默认表单编辑器构造器扩展(如果创建的表单效果不满意 建议重载) //@param {jinput} 表单元素jQuery对象 比如input、select、textarea $.ligerDefaults.Form.editorBulider = function (jinput) { //这里this就是form的ligerui对象 var g = this, p = this.options; var inputOptions = {}; if (p.inputWidth) inputOptions.width = p.inputWidth; if (jinput.is("select")) { jinput.ligerComboBox(inputOptions); } else if (jinput.is(":text") || jinput.is(":password")) { var ltype = jinput.attr("ltype"); switch (ltype) { case "select": case "combobox": jinput.ligerComboBox(inputOptions); break; case "spinner": jinput.ligerSpinner(inputOptions); break; case "date": jinput.ligerDateEditor(inputOptions); break; case "float": case "number": inputOptions.number = true; jinput.ligerTextBox(inputOptions); break; case "int": case "digits": inputOptions.digits = true; default: jinput.ligerTextBox(inputOptions); break; } } else if (jinput.is(":radio")) { jinput.ligerRadio(inputOptions); } else if (jinput.is(":checkbox")) { jinput.ligerCheckBox(inputOptions); } else if (jinput.is("textarea")) { jinput.addClass("l-textarea"); } } //表单组件 $.ligerui.controls.Form = function (element, options) { $.ligerui.controls.Form.base.constructor.call(this, element, options); }; $.ligerui.controls.Form.ligerExtend($.ligerui.core.UIComponent, { __getType: function () { return 'Form' }, __idPrev: function () { return 'Form'; }, _init: function () { $.ligerui.controls.Form.base._init.call(this); }, _render: function () { var g = this, p = this.options; var jform = $(this.element); //自动创建表单 if (p.fields && p.fields.length) { if (!jform.hasClass("l-form")) jform.addClass("l-form"); var out = []; var appendULStartTag = false; $(p.fields).each(function (index, field) { var name = field.name || field.id; if (!name) return; if (field.type == "hidden") { out.push(''); return; } var newLine = field.renderToNewLine || field.newline; if (newLine == null) newLine = true; if (field.merge) newLine = false; if (field.group) newLine = true; if (newLine) { if (appendULStartTag) { out.push(''); appendULStartTag = false; } if (field.group) { out.push('