(function ($) { /** * 创建新增表单 * @param formObj * @returns {string} */ $.buildAddForm = function ( formObj ) { return buildForm(formObj, 'box-success', 'ajax-post'); }; /** * 创建编辑表单 * @param formObj * @returns {string} */ $.buildEditForm = function ( formObj ) { return buildForm(formObj, 'box-warning', 'ajax-put'); }; /** * 根据规则创建表单 * @param formObj 表单数据对象 * @param boxType box样式 * @param method 数据提交方式 * @returns {string} */ function buildForm( formObj, boxType, method ) { var formHtml = '
'; formHtml += '

'+formObj.formTitle+'

'; formHtml += '
'; $.each(formObj.formList, function (index, value) { switch (value.module){ case 'text': formHtml += buildInput(value); break; case 'select': formHtml += buildSelect(value); break; case 'radio': formHtml += buildRadio(value); break; case 'hidden': formHtml += buildHidden(value); break; case 'checkbox': formHtml += buildCheckbox(value); break; case 'password': formHtml += buildPassword(value); break; case 'textarea': formHtml += buildTextarea(value); break; } }); formHtml += '
'; return formHtml; } /** * 创建文本框 * @param inputObj * @returns {string} */ function buildPassword( inputObj ) { var formHtml = '
'; var placeholder = '', value = ''; if( inputObj.attr.placeholder){ placeholder = 'placeholder="'+ inputObj.attr.placeholder +'"'; } if( inputObj.attr.value){ value = 'value="'+ inputObj.attr.value +'"'; } formHtml += '
'; if( inputObj.description && inputObj.description.length ){ formHtml += '
'+ inputObj.description +'
'; } formHtml += '
'; return formHtml; } /** * 创建多选框 * @param checkboxObj * @returns {string} */ function buildCheckbox( checkboxObj ) { var formHtml = '
'; formHtml += '
'; formHtml += '
'; if( checkboxObj.attr ){ $.each(checkboxObj.attr, function (index, value) { if( value.value ){ formHtml += ''; }else{ formHtml += ''; } }); } formHtml += '
'; if( checkboxObj.description ){ formHtml += '
'+ checkboxObj.description +'
'; } formHtml += '
'; return formHtml; } /** * 创建文本框 * @param inputObj * @returns {string} */ function buildInput( inputObj ) { var formHtml = '
'; var placeholder = '', value = '', disabled = ''; if( inputObj.attr.placeholder){ placeholder = 'placeholder="'+ inputObj.attr.placeholder +'"'; } if( inputObj.attr.value){ value = 'value="'+ inputObj.attr.value +'"'; } if( inputObj.attr.disabled ){ disabled = 'disabled'; } formHtml += '
'; if( inputObj.description && inputObj.description.length ){ formHtml += '
'+ inputObj.description +'
'; } formHtml += '
'; return formHtml; } /** * 创建单选框 * @param radioObj * @returns {string} */ function buildRadio( radioObj ) { var formHtml = '
'; formHtml += '
'; formHtml += '
'; if( radioObj.attr.options ){ $.each(radioObj.attr.options, function (index, value) { if( index == radioObj.attr.value ){ formHtml += ' '; }else{ formHtml += ' '; } }); } formHtml += '
'; if( radioObj.description ){ formHtml += '
'+ radioObj.description +'
'; } formHtml += '
'; return formHtml; } /** * 创建隐藏表单 * @param hiddenObj * @returns {string} */ function buildHidden( hiddenObj ) { return ''; } /** * 创建文本域 * @param textareaObj * @returns {string} */ function buildTextarea( textareaObj ) { var formHtml = '
'; var placeholder = '', value = ''; if( textareaObj.attr.placeholder){ placeholder = 'placeholder="'+ textareaObj.attr.placeholder +'"'; } if( textareaObj.attr.value){ value = textareaObj.attr.value; } formHtml += '
'; if( textareaObj.description && textareaObj.description.length ){ formHtml += '
'+ textareaObj.description +'
'; } formHtml += '
'; return formHtml; } /** * 创建下拉菜单 * @param selectObj * @returns {string} */ function buildSelect( selectObj ) { var formHtml = '
'; formHtml += '
'; if( selectObj.attr.options ){ formHtml += ''; } formHtml += '
'; if( selectObj.description && selectObj.description.length ){ formHtml += '
'+ selectObj.description +'
'; } formHtml += '
'; return formHtml; } function buildEditors() { } function buildUpload() { } function buildCode() { } })(jQuery);